【问题标题】:Asp .net hidden field can't set value with jqueryAsp .net 隐藏字段无法使用 jquery 设置值
【发布时间】:2013-06-26 11:58:20
【问题描述】:

我无法在 asp .net 中使用 jquery 设置隐藏字段的值。

我的隐藏字段是这样声明的:

<asp:HiddenField runat="server" ID="hdnSelectedTicket" />

这就是我设置值的方式:

            alert(ticketID);
            $('#<%=hdnSelectedTicket.ClientID %>').val(ticketID);
            alert($('#<%=hdnSelectedTicket.ClientID %>').val());

两个警报都显示正确的值,但是当我在服务器上获取它时它是空的。

【问题讨论】:

  • 该代码一切正常,后面的代码呢? - 也许有问题?
  • 当您检索值时,您的服务器端代码是什么样的?
  • 我这样访问它:string.IsNullOrEmpty(hdnSelectedTicket.Value)。当检查值时它是一个空字符串

标签: jquery asp.net


【解决方案1】:

设置ClientIDMode="Static",然后可以使用$('#hdnSelectedTicket').val(ticketID);设置asp隐藏字段的值

喜欢

asp:HiddenField ID="hdnSelectedTicket" runat="server" ClientIDMode="Static"

$('#hdnSelectedTicket').val(ticketID);

【讨论】:

    【解决方案2】:

    事实证明,我将隐藏字段放在用作 jquery 对话框模型的 div 中。当我从 div 中删除隐藏字段并将其放在其他地方时,它可以工作。

    【讨论】:

    • 感谢您发布此信息。这也是我的问题的答案!
    【解决方案3】:

    根据您在服务器端读取值的时间,它可能尚未在控件上更新 - 本质上,如果您在更改事件处理程序中执行此操作,并且引发更改事件的控件在隐藏之前更新控制,然后调用 hdnSelectedTicket.Value 仍然可以返回旧值。

    解决此问题的最简单方法是作弊并直接从表单集合中获取:

    var ticketId = Request.Form[hdnSelectedTicket.UniqueID];
    

    【讨论】:

      猜你喜欢
      • 2011-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-11
      • 2013-04-20
      • 1970-01-01
      相关资源
      最近更新 更多