के अंदर जावास्क्रिप्ट कोड ठीक है: मुझे एक एएसपीएक्स पेज पर एक अपडेटपेनल मिला है जिसमें एक प्लेसहोल्डर है।अपडेटपेनल
इस प्लेसहोल्डर के अंदर मैं कुछ बाहरी स्थितियों के आधार पर उपयोगकर्ता नियंत्रणों में से एक को जोड़ रहा हूं (यह एक कॉन्फ़िगरेशन पृष्ठ है)।
इनमें से प्रत्येक उपयोगकर्ता नियंत्रण में एक bindUcEvents() जावास्क्रिप्ट फ़ंक्शन है जो विभिन्न jQuery और जावास्क्रिप्ट ईवेंट को उपयोगकर्ता नियंत्रण के अंदर बटन और सत्यापनकर्ताओं से जोड़ता है।
मेरे पास जो मुद्दा है वह यह है कि उपयोगकर्ता नियंत्रण की जावास्क्रिप्ट को पहचाना नहीं जा रहा है। आम तौर पर, अपडेटपेनल के अंदर जावास्क्रिप्ट निष्पादित होता है जब अद्यतन पैनेल पोस्ट करता है, हालांकि इस कोड में से कोई भी पृष्ठ पृष्ठ द्वारा नहीं पाया जा सकता है (मैंने फ़ायरबग के कंसोल के माध्यम से मैन्युअल रूप से फ़ंक्शन चलाने का प्रयास किया है, लेकिन यह मुझे बताता है कि यह फ़ंक्शन नहीं ढूंढ सकता है)।
क्या किसी के पास कोई सुझाव है?
चीयर्स, एड।
संपादित करें:
(लेकिन कार्यात्मक) में कटौती उदाहरण:
मार्कअप:
<script src="/js/jquery-1.3.2.min.js"></script>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="Script" runat="server" />
<asp:Button ID="Postback" runat="server" Text="Populate" OnClick="PopulatePlaceholder" />
<asp:UpdatePanel ID="UpdateMe" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Postback" EventName="Click" />
</Triggers>
<ContentTemplate>
<asp:Literal ID="Code" runat="server" />
<asp:PlaceHolder ID="PlaceMe" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
सी #:
protected void PopulatePlaceholder(object sender, EventArgs e)
{
Button button = new Button();
button.ID = "Push";
button.Text = "push";
button.OnClientClick = "javascript:return false;";
Code.Text = "<script type=\"text/javascript\"> function bindEvents() { $('#" + button.ClientID + "').click(function() { alert('hello'); }); } bindEvents(); </script>";
PlaceMe.Controls.Add(button);
}
आप उस बटन poput नहीं करता देखेंगे चेतावनी संदेश, भले ही कोड पृष्ठ पर मौजूद है।
EDIT2:
ठीक है, बस इसे स्पष्ट करना, उत्पादन कोड काफी बस एक ही समारोह एक शाब्दिक पर बाध्य की तुलना में अधिक जटिल है, और
<%= Control.ClientID %>
बिट्स की की एक बड़ी संख्या में शामिल है कोड जो गैर-विशिष्ट कार्यों में कारक करना बहुत मुश्किल होगा, और व्यर्थ है क्योंकि वे केवल एक ही स्थान पर उपयोग किए जाते हैं (हम बहुत विशिष्ट सत्यापन और अजीब पॉपआउट ट्रिगर + कुछ तर्क) की बात कर रहे हैं।
क्या आप कुछ स्रोत या जेनरेट कोड पोस्ट कर सकते हैं? इसके बिना निदान करना बहुत मुश्किल है। – scunliffe
निश्चित रूप से, मैं बस ऐसा करने से बचने के लिए प्रवृत्त हूं क्योंकि इसमें बहुत कुछ है, मैं कोशिश करूँगा और इसे थोड़ा सा –
नीचे काट दूंगा आपने कहा है कि आपके पास बहुत सारे कोड हैं, और इसलिए यह कोड-पीछे नहीं है। .. तो यह कहां है? एएसपीएक्स में? बाहरी जेएस फ़ाइल में? किसी डेटाबेस/xml फ़ाइल से लोड किया गया है और पीछे कोड द्वारा पढ़ा गया है? Ascx फ़ाइल में – Stobor