2011-09-15 6 views
6

मैंने एक एएसपी.नेट वेबसाइट बनाई है। मैं क्या करना चाहता हूं कि एक ड्रॉप डाउन सूची द्वारा चुने गए आइटम के आधार पर लेबल को अपनी सामग्री बदलना है। मैं इस कोशिश की, लेकिन यह काम नहीं किया:पोस्टबैक के बिना एक लेबल टेक्स्ट बदलना (अपडेट पैनलों का उपयोग करके)

ड्रॉप डाउन सूची इस प्रकार है:

<asp:DropDownList ID="DropDown1" runat="server" > 
    <asp:ListItem Value="a"></asp:ListItem> 
    <asp:ListItem Value="b"></asp:ListItem> 
    onselectedindexchanged="DropDown1_SelectedIndexChanged" 
</asp:DropDownList> 

लेबल:

<asp:Label ID="Label1" Text="" runat="server"/> 

मैं का उपयोग किए बिना यह क्या करना चाहते हैं पोस्टबैक

मैं ajax अद्यतन पैनल उपयोग करने के लिए इस तरह की कोशिश की:

<asp:UpdatePanel runat="server" id="UpdatePanel" updatemode="Conditional">   
    <Triggers> 
     <asp:AsyncPostBackTrigger controlid="DropDown1"          EventName="SelectedIndexChanged" /> 
    </Triggers> 
    <ContentTemplate> 
     <asp:Label ID="Label1" Text="" runat="server"/> 
    </ContentTemplate> 
</asp:UpdatePanel> 

और में कोड में घटना DropDown1_SelectedIndexChanged पीछे:

protected void DropDown1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    Label1.Text = DropDown1.SelectedValue; 
} 

लेकिन यह काम नहीं कर रहा।

क्या कोई मुझे इसके साथ मदद कर सकता है?

आप कोई मदद

उत्तर

9

यहाँ अपने समाधान है ..

अपने को बदलने नीचे एक के साथ ड्रॉपडाउन एएसपीएक्स नियंत्रण ..

<asp:DropDownList ID="DropDown1" runat="server" onselectedindexchanged="DropDown1_SelectedIndexChanged" AutoPostBack="true"> 
       <asp:ListItem Value="a"></asp:ListItem> 
       <asp:ListItem Value="b"></asp:ListItem> 
      </asp:DropDownList> 

<asp:UpdatePanel runat="server" id="UpdatePanel" updatemode="Conditional"> 
    <ContentTemplate> 
     <asp:Label ID="Label1" Text="test" runat="server"/> 
    </ContentTemplate> 

    <Triggers> 
     <asp:AsyncPostBackTrigger controlid="DropDown1" EventName="SelectedIndexChanged" /> 
    </Triggers> 
</asp:UpdatePanel> 
+0

स्वीकार नहीं कर सकता कृपया, इस कोड को जांचें ... अपना कोड बदलने के साथ। केवल एएसपीएक्स पेज में। आपका कोड पीछे सही है ... – sikender

+0

तो हालांकि अपडेटपेनल में केवल सामग्री को फिर से प्रस्तुत किया जाता है, पूरे पृष्ठ डेटा को आंशिक पोस्टबैक पर भी सर्वर पर भेजा जाता है? –

+0

मुझे लगता है कि आपकी समस्या हल हो गई है, अब। – sikender

5

आप autopostback सक्षम और सही जगह में ईवेंट हैंडलर परिभाषा लगाने की जरूरत के लिए बहुत-बहुत धन्यवाद:

<asp:DropDownList ID="DropDown1" runat="server" onselectedindexchanged="DropDown1_SelectedIndexChanged" AutoPostBack="true"> 
           <asp:ListItem Value="a"></asp:ListItem> 
           <asp:ListItem Value="b"></asp:ListItem> 
          </asp:DropDownList> 
+0

कि आप अपने उत्तर के लिए। इसने काम कर दिया। दुर्भाग्य से मैं 2 उत्तरों – Youssef

0

http://encosia.com/why-aspnet-ajax-updatepanels-are-dangerous/

उस लेख को पढ़ें, क्यों अपडेट पैनेल का उपयोग नहीं करते हैं, नौकरी करने के लिए बहुत सारे बेहतर समाधान हैं।

+0

यह दिलचस्प नहीं है। लेकिन अन्य समाधानों में जावास्क्रिप्ट का उपयोग करना शामिल है (कुछ जो मैंने कभी नहीं उपयोग किया) मैं इसे देख सकता हूं जब मेरे पास खाली समय – Youssef

+3

जुड़ा हुआ साइट हैक किया गया प्रतीत होता है। – epelc

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^