2011-07-12 13 views
8

में ट्रिगर के लिए आईडी के साथ कोई नियंत्रण नहीं मिला, मेरे पास एक अद्यतन पैनल है जिसमें सशर्त और ChildrenAsTriggers के अद्यतन मोड को गलत पर सेट किया गया है।अद्यतनपैनल

<asp:UpdatePanel ID="updPnlMain" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false"> 
<ContentTemplate> 

     // ... 
     <asp:Repeater ID="rptListData" runat="server"> 
      <ItemTemplate> 
       <asp:Button ID="btnAddSomething" runat="server" OnClick="btnAddSomething_Click" /> 
      </ItemTemplate> 
     </asp:Repeater> 
     // ... 
</ContentTemplate> 
<Triggers> 
    <asp:AsyncPostBackTrigger ControlID="btnAddSomething" EventName="Click" /> 
</Triggers> 
</asp:UpdatePanel> 

मैं निम्न त्रुटि हो रही है जब मैं कोशिश करते हैं और इस पृष्ठ को लोड:: मैं केवल कुछ नियंत्रण एक अतुल्यकालिक पोस्टबैक पैदा करने के लिए चाहते हैं मेरी btnAddSomething नियंत्रण के बाद से

A control with ID 'btnAddSomething' could not be found for the trigger in UpdatePanel 'updPnlMain'. 

एक पुनरावर्तक में है और हो सकता है वहां पर न रहें, यह काम करता है जैसे कि यह कोई नहीं है। मैं इसके पास कैसे आ सकता हूं?

उत्तर

12

क्योंकि आपका नियंत्रण repeater control में है और यह Trigger collection पर दायरे से बाहर है। जिस तरह से आपको add trigger की आवश्यकता नहीं है क्योंकि आपका बटन नियंत्रण UpdatePanel में पहले से ही है, यह बटन क्लिक करते समय अपडेट हो जाएगा।

संपादित करें: यदि आप वास्तव में अपने updatePnlMain updatepanel को अपडेट करना चाहते हैं तो एक समाधान है। आप एक और अपडेट पैनेल डाल सकते हैं और उस बटन में अपना बटन डाल सकते हैं। जैसे

<asp:UpdatePanel ID="updButton" runat="server" UpdateMode="Conditional"> 
    <asp:Button ID="btnAddSomething" runat="server" OnClick="btnAddSomething_Click" /> 
</ContentTemplate> 

और फिर बस btnAddSomething_Click घटना में updPnlMain.Update(); विधि कॉल।

यह वास्तव में आप :)

+1

के लिए क्या देख रहे हो जाएगा नहीं करता है, तो ChildrenAsTriggers = false ... जो है जो मैं प्रश्न में कहा। – Dismissile

+0

मैं अपने पुनरावर्तक नियंत्रण बच्चों को दायरे में कैसे प्राप्त कर सकता हूं? – Dismissile

+0

आप केवल अपने अपडेटपेनल अपडेट PnlMain को अपडेट करना चाहते हैं, बटन पर क्लिक करें? –