【问题标题】:Hidden Field values changed in javascript don't get reflected at server in Chrome在 javascript 中更改的隐藏字段值不会反映在 Chrome 的服务器上
【发布时间】:2015-05-26 17:53:07
【问题描述】:

我有一个用户控件,该控件具有一个隐藏字段,该字段在 Tree View Hierarchy 控件的节点单击时设置。 Tree View的点击事件的底层函数是:

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 中,我都可以调试并看到 Hidden 字段的值从客户端按预期发生变化,我可以从服务器端的用户控件中检索该值。

但在 Chrome 中测试时,新值并未反映。最初我注意到了这种行为,并尝试了另一篇文章中提供的将隐藏字段控件放置在更新面板内的建议,但这似乎也不起作用。

为什么在 IE 浏览器而不是 Chrome 上显示更改后的值?有解决办法吗?

【问题讨论】:

  • 您在 nodeClick 条件句上缺少一个结束卷曲。
  • 谢谢,这是问题中的错字。我编辑了它。代码实际上有右括号。

标签: javascript c# jquery asp.net


【解决方案1】:

可能在 chrome 中发生了异常。这就是为什么它不更新隐藏字段的值。如果隐藏字段不在更新面板中,则无法更改它的值,因为视图状态在部分回发中没有完全更新

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-11
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-20
    • 1970-01-01
    相关资源
    最近更新 更多