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

时间:2013-06-26 11:58:20

标签: jquery asp.net

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

我的隐藏字段声明如下:

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

这就是我设置值的方式:

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

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

3 个答案:

答案 0 :(得分:18)

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

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

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

答案 1 :(得分:7)

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

答案 2 :(得分:3)

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

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

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