jquery एएसपी.नेट-<चयन करें> जेपीसी सूची के बाद वापस पोस्ट नहीं की जा रही है




listbox asp.net-2.0 (3)

मुझे लगता है कि आपको सीटक्टेड आइटम की सूची सीधे अनुरोध से प्राप्त करने की आवश्यकता होगी, न कि एएसपी.एन.नेट नियंत्रण गुणों से thsn, जैसे:

string results = Request.Form[list_box.UniqueID];

मेरे पास ASP.Net ListBox है जो मैं निम्नलिखित स्निपेट का उपयोग करते हुए jQuery के माध्यम से पॉप्युलेट करने की कोशिश कर रहा हूं:

    $("#MyList_btnAddAll").click(function(e) {
    e.preventDefault();
    $('#MyList_lstAll option').appendTo('#MyList_lstSelected');
});

कोड में दो सूचीबॉक्स वास्तव में, एक "स्रोत" और दूसरा "गंतव्य" है। जैसा कि आप ListBoxes से ऊपर बता सकते हैं MyList_lstAll और MyList_lst चयनित हैं। ये ब्राउज़र में तत्वों के रूप में प्रदान किए जाते हैं, जैसा आप उम्मीद करते हैं

JQuery महान काम कर रहा है, मद एक सूचीबॉक्स से दूसरे तक जा रहे हैं, डोम अपडेट किया गया है लेकिन जब मैं अपना पेज पोस्ट करता हूं, तो पोस्टबैक लिस्ट बॉक्स में कोई भी परिवर्तन नहीं दर्शाता है। मुझे पता है कि jQuery और एएसपी। नेट पोस्टबैक से मिलते हैं, लेकिन क्या कोई मुझे इस बारे में थोड़ा मार्गदर्शन कर सकता है कि संभवतः क्या हो रहा है और मैं इसे कैसे काम कर सकता हूं?

[संपादित करें]

अनुरोध के अनुसार, यहां एएसपी.नेट और एचटीएमएल के कुछ अधिक परिणाम हैं। नीचे लिस्ट बॉक्स और एस्केक्स नियंत्रण में बटन घोषणाएं हैं जो उन्हें रखती हैं:

 <GLP:ListBox ID="lstAll" CssClass="LIST_BOX_MEDIUM" runat="server" SelectionMode="Multiple"/>

<asp:LinkButton ID="lnkAddAll2" CssClass="LIST_SELECT" runat="server" OnClick="btnAddAll_Click"/>

<GLP:ListBox ID="lstSelected" CssClass="LIST_BOX_MEDIUM" runat="server" SelectionMode="Multiple"/>

और परिणामी एचटीएमएल:

<select class="LIST_BOX_MEDIUM" id="MyList_lstAll" multiple="multiple" name="MyList:lstAll" size="4">
 <option value="641">Item1</option><option value="598">Item2</option>
</select>

<input type="submit" class="BUTTON_SMALL_N0_IMAGE" id="MyList_btnAddAll" value="Add All" name="MyList:btnAddAll" style="color: rgb(0, 0, 0);">

<select class="LIST_BOX_MEDIUM" id="MyList_lstSelected" multiple="multiple" name="MyList:lstSelected" size="4">
 <option value="642">Item3</option><option value="599">Item4</option>
</select>

मुझे पता है कि jQuery / ListBox आइटम संशोधनों को विस्टस्टेट में परिलक्षित नहीं किया गया है, लेकिन जब वे पोस्ट में पोस्ट करते हैं तो वे DOM में होते हैं, तब उन्हें पोस्टबैक डेटा में शामिल नहीं किया जाएगा और फिर उनके संबंधित नियंत्रणों से उठाएंगे?


समस्या यह है कि आपका नियंत्रण पश्चस्टेट (या नियंत्रण राज्य) का उपयोग करके पोस्टबैक पर बनाया गया है, जो निश्चित रूप से आपके परिवर्तनों को प्रतिबिंबित नहीं करता है एक संभावना है कि सर्वर पर ऑब्जेक्ट ऑब्जेक्ट का इस्तेमाल करते हुए सीधे पोस्ट पर पहुंचें (जैसा कि रे पहले ही कहा गया था)


आईआईआरसी, आप इस पर काम कर सकते हैं क्योंकि एएसपी.नेट ने पोस्टबैक पर लिस्ट बॉक्स में उम्मीद की है। मैंने अतीत में जिस तरीके से उपयोग किया है, वह है runat = "server" के साथ एक छिपे हुए इनपुट फ़ील्ड को बनाने के लिए और चयनित आईडी में वहां आबाद, अर्ध-कोलन अलग।

छुपा इनपुट मान पोस्टबैक पर उपलब्ध होगा।





postback