2013-06-26 2 views
8

के साथ मूल्य निर्धारित नहीं कर सकता है मैं एएसपीनेट में jquery के साथ एक छिपे हुए फ़ील्ड का मान सेट नहीं कर सकता।एएसपीनेट छिपी हुई फ़ील्ड jquery

मेरे छिपी हुई फ़ील्ड इस तरह घोषित किया जाता है:

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

और यह मैं कैसे मान सेट है:

  alert(ticketID); 
      $('#<%=hdnSelectedTicket.ClientID %>').val(ticketID); 
      alert($('#<%=hdnSelectedTicket.ClientID %>').val()); 
दोनों अलर्ट

सही मूल्य को दिखाने लेकिन जब मैं सर्वर पर यह लाने यह खाली है।

+2

सब कुछ की तरह एएसपी छिपा क्षेत्र में मान सेट कर सकते हैं कोड के बारे में है कि कोड पर ठीक लग रहा है, क्या पीछे ? - शायद समस्या है? – Aristos

+0

जब आप मूल्य पुनर्प्राप्त कर रहे हों तो आपका सर्वर साइड कोड कैसा दिखता है? – jlafay

+0

मैं इसे इस तरह एक्सेस करता हूं: string.IsNullOrEmpty (hdnSelectedTicket.Value)। और जब मूल्य की जांच करें तो यह एक खाली स्ट्रिंग – Alecu

उत्तर

7

ऐसा लगता है कि मैं एक div कि एक मॉडल के रूप में इस्तेमाल किया गया था के अंदर छिपी हुई फ़ील्ड डाल गया था:

इस समस्या के समाधान प्राप्त करने के लिए सबसे आसान तरीका है धोखा और फार्म संग्रह से सीधे इसे पाने के लिए है jquery संवाद के लिए। जब मैंने छिपे हुए क्षेत्र को div से हटा दिया और इसे कहीं और रखा तो यह काम करता था।

+0

पोस्ट करने के लिए धन्यवाद। यह मेरी समस्या का भी जवाब था! – Eric

3

जब आप सर्वर की ओर से मूल्य पढ़ रहे हैं, तो यह नियंत्रण पर अभी तक अपडेट नहीं किया जा सकता है - अनिवार्य रूप से यदि आप इसे एक परिवर्तन ईवेंट हैंडलर में कर रहे हैं, और नियंत्रण घटना को बढ़ाने वाले नियंत्रण को अपडेट किया जाता है छुपा नियंत्रण, फिर hdnSelectedTicket.Value को कॉल करना पुराने मान को वापस कर सकता है।

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

सेट ClientIDMode="Static" और फिर आप $('#hdnSelectedTicket').val(ticketID); का उपयोग

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

और

$('#hdnSelectedTicket').val(ticketID); 
संबंधित मुद्दे