Asp .net隐藏字段无法使用jquery设置值

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

我的隐藏字段声明如下:

 

这就是我设置值的方式:

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

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

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

喜欢

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

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

事实certificate,我将隐藏字段放在一个div中,该div用作jquery对话框的模型。 当我从div中删除隐藏字段并将其放在其他地方时它起作用。

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

解决此问题的最简单方法是欺骗并直接从Form集合中获取:

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