Asp .net hidden field can't set value with jqu

2020-03-12 02:55发布

I can't set the value of a hidden field with jquery in asp .net.

My hidden field is declared like this:

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

And this is how I set the value:

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

Both alerts show the right value but when I fetch it at the server it is empty.

3条回答
家丑人穷心不美
2楼-- · 2020-03-12 03:31

Set ClientIDMode="Static" and then you can use $('#hdnSelectedTicket').val(ticketID); to set the value in asp hidden field

like

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

and

$('#hdnSelectedTicket').val(ticketID);
查看更多
够拽才男人
3楼-- · 2020-03-12 03:46

It turns out that I was putting the hidden field inside a div that was used as a model for jquery dialog. When I removed the hidden field from the div and place it somewhere else it worked.

查看更多
\"骚年 ilove
4楼-- · 2020-03-12 03:55

Depending when you are reading the value on the server side, it might not be updated on the control yet - essentially if you are doing it in a change event handler, and the control that raises the change event gets updated before the hidden control, then calling hdnSelectedTicket.Value can still return the old value.

The easiest way to get around this issue is to cheat and get it straight from the Form collection:

var ticketId = Request.Form[hdnSelectedTicket.UniqueID];
查看更多
登录 后发表回答