我有一个用户控件,它有一个隐藏字段,该字段在 TreeView 层次结构控件的节点单击上设置。 TreeView点击事件的底层函数是:
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);");
}
当用户单击 TreeView 控件的节点时,隐藏字段值设置为“TreeViewNode”。
在所有版本的 IE 中,我可以调试并看到隐藏字段的值从客户端按预期更改,我可以从服务器端的用户控件中检索该值。
但在 Chrome 中测试时,新值并未反射(reflect)出来。最初我注意到了这种行为并尝试了另一篇文章中提供的将隐藏字段控件放置在更新面板内的建议,但这似乎也不起作用。
为什么更改后的值显示在 IE 浏览器上,而不显示在 Chrome 上?有变通办法吗?
最佳答案
可能是 chrome 出现了异常。这就是为什么它不更新隐藏字段的值。如果隐藏字段不在更新面板中,则无法更改隐藏字段的值,因为 View 状态在部分回发中未完全更新
关于javascript - 在 JavaScript 中更改的隐藏字段值不会反射(reflect)在 Chrome 的服务器上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30465543/