2013-06-26 34 views
8

Tôi không thể đặt giá trị của trường ẩn với jquery trong asp .net.Trường ẩn .net không thể đặt giá trị với jquery

lĩnh vực tiềm ẩn của tôi được khai báo như thế này:

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

Và đây là cách tôi thiết lập giá trị:

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

Cả hai cảnh báo hiển thị các giá trị đúng, nhưng khi tôi lấy nó ở máy chủ nó trống.

+2

Mọi thứ trông ok trên mã rằng, những gì về mã phía sau ? - có thể có vấn đề? – Aristos

+0

Mã phía máy chủ của bạn trông như thế nào khi bạn truy xuất giá trị? – jlafay

+0

Tôi truy cập nó như thế này: string.IsNullOrEmpty (hdnSelectedTicket.Value). Và khi kiểm tra giá trị đó là một chuỗi rỗng – Alecu

Trả lời

7

Nó chỉ ra rằng tôi đã đưa lĩnh vực tiềm ẩn bên trong một div đã được sử dụng như một mô hình cho hộp thoại jquery. Khi tôi loại bỏ các lĩnh vực ẩn từ div và đặt nó ở một nơi khác nó làm việc.

+0

Cảm ơn bạn đã đăng bài này. Đây cũng là câu trả lời cho vấn đề của tôi! – Eric

3

Tùy thuộc khi bạn đang đọc giá trị ở phía máy chủ, nó có thể chưa được cập nhật trên điều khiển - về cơ bản nếu bạn đang làm điều đó trong trình xử lý sự kiện thay đổi và điều khiển tăng sự kiện thay đổi được cập nhật trước điều khiển ẩn, sau đó gọi hdnSelectedTicket.Value vẫn có thể trả về giá trị cũ.

Cách dễ nhất để có được xung quanh vấn đề này là để lừa và làm cho nó thẳng từ bộ sưu tập mẫu:

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

Set ClientIDMode="Static" và sau đó bạn có thể sử dụng $('#hdnSelectedTicket').val(ticketID); để thiết lập giá trị trong lĩnh vực ẩn asp

như

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

$('#hdnSelectedTicket').val(ticketID); 
Các vấn đề liên quan