隐藏字段值在javascript改变不得到反映在服务器在Chrome

Hidden Field values changed in javascript don't get reflected at server in Chrome

本文关键字:服务器 Chrome 字段 javascript 改变 隐藏      更新时间:2023-09-26

我有一个用户控件,它有一个隐藏字段,在Tree View Hierarchy控件的节点单击上设置。Tree View的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?有解决办法吗?

浏览器可能出现异常。这就是为什么它不更新隐藏字段的值。如果隐藏字段的值不在update-panel中,则无法更改它的值,因为viewstate在部分post - back中没有完全更新

相关文章: