2012-11-13 19 views
6

के साथ ईवेंट पर क्लिक करें मैं वीबी.नेट और जेक्यूएम में एक साइट पर काम कर रहा हूं - और सब ठीक हो रहे हैं।एएसपी छवि बटन JQuery मोबाइल

Private Sub btnYear_Click(sender As Object, e As System.Web.UI.ImageClickEventArgs) Handles btnYear.Click  
    Session("TimeFrame") = "YEAR"  
    *do other code* 
End Sub 
:

<asp:ImageButton ID="btnYear" runat="server" ImageUrl="~/images/buttons/year_btn.gif" /> 

और फ़ाइल के पीछे VB कोड में निम्न के समान एक क्लिक करें घटना होती है:

अब, मैं इस तरह के रूप में एक टैग का उपयोग कर एक मानक छवि बटन शामिल करने के लिए कोशिश कर रहा हूँ

जब मैं छवि बटन पर क्लिक करता हूं और कोड का पता लगाता हूं - फ़ाइल फ़ायर (पेज लोड, पेज प्रीरेंडर इत्यादि) के पीछे कोड में पेज कोड में सभी कोड - लेकिन छवि बटन के लिए क्लिक ईवेंट कभी नहीं आग लगती है।

यदि मैं छवि बटन को मानक एएसपी के साथ प्रतिस्थापित करता हूं: बटन और सब कुछ करें - तो आग के पीछे कोड में क्लिक ईवेंट ठीक है! क्या एक JQM पृष्ठ के भीतर एएसपी छवि बटन का उपयोग करना संभव नहीं है और फ़ाइल के पीछे वीबी कोड में एक क्लिक ईवेंट आयोजित करना संभव है?

संपादित ठीक है बहुत सराहना उसकी प्रतिक्रिया के लिए andleer लिए - लेकिन यह प्रकाश के लिए मेरे पृष्ठ के साथ एक नया परिदृश्य (समस्या) लाता है, भी इन ImageButtons के विषय में।

मेरे पास छवि नियंत्रण के भीतर छवि बटन नियंत्रण है। मेरा पृष्ठ एक ही एएसपीएक्स फ़ाइल है जिसमें एकाधिक <div data-role="page"> इसमें शामिल हैं, प्रत्येक में अपनी आईडी ("पृष्ठ 1", "पृष्ठ 2", "पृष्ठ 3" आदि) - जेक्यूएम की बहु-पेज कार्यक्षमता के मानक उपयोग के बाद। प्रत्येक "पृष्ठ" खंड में उपयोगकर्ता नियंत्रण का एक उदाहरण होता है जिसमें छवि बटन होते हैं। यह सब एक समस्या के साथ अच्छी तरह से काम करता है - जब उपयोगकर्ता किसी अन्य "पृष्ठ" से डिफ़ॉल्ट "पृष्ठ 1" से दूर जाता है और छवि बटनों में से एक पर क्लिक करता है, तो कोड आग लगती है, पृष्ठ फिर से लोड हो जाता है - और उपयोगकर्ता को डिफ़ॉल्ट रूप से वापस ले जाता है पेज - "पेज 1"।

यह अच्छा नहीं है - मुझे उपयोगकर्ता को बटन को आग लगाने और पृष्ठ को फिर से लोड करने और "पृष्ठ" तत्व पर रहने की अनुमति देने के लिए एक तरीका चाहिए - जेक्यूएम यूआरएल में हैश टैग का उपयोग करके इन एकाधिक पृष्ठों को पूरा करता है - तो

`संरक्षित उप Page_Load (ByVal इस वस्तु के रूप में, ByVal ई System.EventArgs के रूप में) हैंडल

Me.Form.Attributes("onsubmit") = "this.action+=top.location.hash;" 

End Sub` 

मैं Me.Load

: मुझे लगता है कि मैं पृष्ठ की लोड घटना है जो पढ़ने के लिए कोड की कुछ लाइन पाया मूल रूप से मेरे उपयोगकर्ता नियंत्रण पर रेडियो बटन का उपयोग कर रहा था - जो जेक्यूएम "स्किनिंग" था इसलिए वे बटन के रूप में दिखाई देते थे - और पेज_लोड ईवेंट में इस लाइन के साथ, उपयोगकर्ता सी किसी भी "पेज" तत्व पर एक रेडियो बटन पर क्लिक करें और रेडियो बटन के पीछे कोड आग लग जाएगा और पेज उपयोगकर्ता के साथ उसी पृष्ठ पर फिर से लोड हो जाएगा, जिस पर उन्होंने क्लिक किया - न कि छवि बटन के साथ रेडियो बटन को प्रतिस्थापित करना - जब मैं पेज_लोड ईवेंट में कोड की उस पंक्ति को जोड़ता हूं, तो छविबटन नियंत्रण पूरी तरह से कार्य करने के लिए बंद हो जाता है - जब मैं उनके क्लिक में कोड पर क्लिक करता हूं तो कोड के पीछे भी आग नहीं होती है - न ही पेज स्तर लोड जैसी किसी भी पृष्ठ स्तर की घटनाएं या Page_PreRender - अब उन्हें क्लिक करना बिल्कुल कुछ नहीं करता है ....

इस पर कोई विचार?

उत्तर

0

समस्या यह है कि <asp:ImageButton /><input type="image" /> के रूप में प्रस्तुत करता है जो jQuery मोबाइल द्वारा छिपा हुआ है। एक छवि-भूमिका = "कोई नहीं" आपको छवि बटन जोड़ें जो jQuery मोबाइल को नियंत्रण प्रदान करने का कारण बनता है।

मैं ने पाया है कि asp.net वेब रूपों बस jQuery मोबाइल बहु पेज परिदृश्यों साथ काम नहीं करता:

<asp:ImageButton id="MyButton" runat="server" data-role="none" /> 
+0

मैं आपकी प्रतिक्रिया की सराहना करता हूं - मेरे पास एक अलग मोड़ है जो मैं एक उत्तर में पोस्ट करूंगा - क्योंकि यह एक टिप्पणी के लिए थोड़ा लंबा है .... – Brian

1

एक नया उत्तर आपके प्रश्न के दूसरे भाग को संबोधित करने के। वेब फॉर्मों के लिए सभी वेब नियंत्रणों को एक <form /> तत्व के भीतर रहने की आवश्यकता होती है जिसे सभी jQuery मोबाइल ("वर्चुअल") पृष्ठों को फैलाने की आवश्यकता होती है। यह उचित प्रतिपादन और पोस्ट पैक के लिए प्रत्येक उप पृष्ठ के भीतर <form /> तत्वों के साथ jQuery मोबाइल की आवश्यकता के साथ सीधे संघर्ष में है।

इसके बजाय एमवीसी पर विचार करें।

+0

दुर्भाग्य से इस बिंदु पर एमवीसी पर स्विच करना प्रश्न:/मल्टीपाज दस्तावेज़ के गलत "पृष्ठ" तत्व पर रीडायरेक्ट करने वाला यह पोस्ट-बैक मुद्दा यह प्रस्तुत करने से पहले हल करने के लिए अंतिम मुद्दों में से एक है - और इसे सप्ताह के भीतर प्रस्तुत करने की आवश्यकता है! वेब फॉर्म में काम करने वाली पूरी चीज के साथ - और मेरा स्वयं का ज्ञान आधार वेब रूपों में है - मुझे इसे यहां करने के लिए एक रास्ता खोजना होगा - हालांकि मुझे सड़क के नीचे एमवीसी देखना पसंद है .... – Brian

+0

मैंने एक बड़ा खर्च किया एएसपीनेट वेब फॉर्म के भीतर काम कर रहे jqm मल्टी-पेज टेम्पलेट को प्राप्त करने का प्रयास करने की अवधि और आखिरकार इस विचार को छोड़ दिया गया। उपरोक्त वर्णित फॉर्म तत्व समस्या को दूर नहीं किया जा सकता है। किसी भी AJAX सक्षम DOM लोडिंग के साथ एक ही समस्या होती है। एएसपीनेट वेब के भीतर यह काम करने की आपकी एकमात्र उम्मीद यह है कि एकल पेज टेम्पलेट्स के साथ जाने के लिए सभी AJAX लोडिंग को बंद कर दें। मैं गलत हो सकता था लेकिन मैं इस मुद्दे/सीमा को दूर करने में सक्षम नहीं था। – andleer

+0

मैं आपकी सभी मदद की सराहना करता हूं! मैंने छिपे हुए फ़ील्ड का उपयोग करके कुछ काम करने का प्रबंधन किया था, जो बटन क्लिक पर पेज हैश टैग के साथ जावास्क्रिप्ट लोड किया गया था, और उसके बाद एक जावास्क्रिप्ट जो उस समय यूआरएल पर लोड होने पर लगाया गया था - लेकिन यह सिर्फ "होकी" समाधान जैसा प्रतीत होता है बाद में परेशानी का कारण बनता है - इसलिए मैं अब एकल पृष्ठ पृष्ठों पर काम कर रहा हूं यह देखने के लिए कि क्या मैं इसे बेहतर काम करने के लिए प्राप्त कर सकता हूं। – Brian