我有一个用户控件,该控件具有一个隐藏字段,可在“树视图层次结构”控件的节点单击上设置。树视图的click事件的基本功能是:
function OnTreeClick(evt) {
var src = window.event != window.undefined ? window.event.srcElement : evt.target;
var nodeClick = src.tagName.toLowerCase() == "a";
var treeImages = evt.srcElement.alt;
if (nodeClick) {
$("#HierarchyOriginSource").val("TreeViewNode");
}
}
我在用户控件的PreRender阶段动态添加onclick客户端属性,如下所示:
protected void Page_PreRender(object sender, EventArgs e)
{
tvwHierarchy.Attributes.Add("OnClick", "OnTreeClick(event);");
}
当用户单击树视图控件的节点时,“隐藏字段”值将设置为“ TreeViewNode”。
在所有版本的IE中,我都可以进行调试,然后从客户端看到“隐藏”字段的值已按预期进行更改,并且可以从服务器端的“用户控件”中检索该值。
但是,在Chrome中进行测试时,新的价值不会得到体现。最初,我注意到了这种行为,并尝试了另一篇文章中的建议,将隐藏的字段控件放置在更新面板中,但这似乎也不起作用。
为什么更改后的值显示给IE浏览器而不显示给Chrome?有没有解决的办法?
最佳答案
Chrome可能发生异常。这就是为什么它不更新隐藏字段的值。如果隐藏字段的值不在update-panel中,则无法更改它的值,因为部分回发后视图状态不会完全更新
关于javascript - 在javascript中更改的“隐藏字段”值不会反射(reflect)在Chrome中的服务器上,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30465543/