我有一个用户控件,该控件具有一个隐藏字段,可在“树视图层次结构”控件的节点单击上设置。树视图的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/

10-16 15:09
查看更多