2011-05-03 16 views
7

मैं कुछ AJAX और ASP.Net का उपयोग करने की कोशिश कर रहा हूं ताकि मुझे पूरे पृष्ठ को रीफ्रेश किए बिना कार्यों को चलाने में सक्षम बनाया जा सके, लेकिन मैं इसेएएसपी.NET DropDownList OnSelectedIndexChanged ईवेंट नहीं

करने में समस्या में ठोकर खाई

यहाँ मेरी कोड

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
</asp:ScriptManager> 

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
     <asp:DropDownList ID="ddl1" runat="server" OnSelectedIndexChanged="update1" /> 

     <asp:TextBox runat="server" ID="txt1" /> 

    </ContentTemplate> 
</asp:UpdatePanel> 

है और यहाँ ईवेंट सक्रिय नहीं है क्योंकि मैं अपने DDL लेकिन यह है कि जोड़ने पर AutoPostBack="True" की जरूरत नहीं है के पीछे

Sub update1(ByVal sender As Object, ByVal e As EventArgs) 

    txt1.Text = Now.ToString 

End Sub 

मेरी कोड है डीडीएल को पूरे पृष्ठ को पोस्टबैक कर देगा।

AutoPostBack="True" का उपयोग करने से बचने का कोई तरीका है ताकि यह केवल पैनल को अपडेट कर सके?

मैं जानता हूँ कि मैं एक asp:Button उपयोग कर सकते हैं इस के आसपास पाने के लिए, लेकिन मैं वास्तव में साथ OnSelectedIndexChanged

धन्यवाद

+0

क्या आप निश्चित रूप से AutoPostBack = "True" पोस्टबैक पूरे पृष्ठ पर काम करते हैं? –

+2

autopostback = 'true' जोड़ना पूरे पृष्ठ को पोस्ट नहीं करना चाहिए (कम से कम पृष्ठ फ़्लिकर नहीं होगा) - इसे केवल अद्यतन पैनल की सामग्री अपडेट करनी चाहिए? – Paddy

उत्तर

7

एक DDL उपयोग करने के लिए आप के लिए पूरे viewstate भेजने के लिए बचना चाहते हैं सक्षम होने के लिए करना चाहते हैं सर्वर, आपको callbacks पर देखना चाहिए।

इसके बजाय, यदि आप संपूर्ण पृष्ठ का एक ताज़ा से बचने के लिए, लेकिन पोस्टबैक के साथ चाहते हैं, यह काम करना चाहिए:

<asp:DropDownList ID="ddl1" runat="server" OnSelectedIndexChanged="update1" AutoPostBack="True" /> 

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <Triggers> 
     <asp:AsyncPostbackTrigger ControlID="ddl1" EventName="SelectedIndexChanged" /> 
    </Triggers> 
    <ContentTemplate> 
     <asp:TextBox runat="server" ID="txt1" /> 
    </ContentTemplate> 
</asp:UpdatePanel> 
+0

धन्यवाद कि महान –

+0

ऑटोपोस्टबैक = "ट्रू" काम करता है। धन्यवाद। मुझे UpdatePanels का उपयोग करने से नफरत है (मैं JQuery पसंद करता हूं) तो मुझे लगता है कि मैं समय पर वापस जा रहा हूं। लेकिन आज मुझे यही चाहिए। वोट दें। – granadaCoder

+0

यह उत्तर कहीं भी नहीं दिया गया है, इसी तरह के प्रश्न के साथ मुझसे पूछा गया है पूरी तरह से मेरे बाहर है। ठीक वही जो मेरे द्वारा खोजा जा रहा था। धन्यवाद। – samuelesque

0

एक ही कोड और अलग पेज नाम के साथ एक नया पृष्ठ बनाने का प्रयास करें। मेरे लिए काम किया

+1

कृपया टिप्पणी करें या इसे बेहतर बनाएं –

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