2011-02-05 19 views
158

फ़ायरिंग नहीं है मेरे पास मेरे वेब पेज में DropDownList ऑब्जेक्ट है। जब मैं उस पर क्लिक करता हूं और एक अलग मान का चयन करता हूं, कुछ भी नहीं होता है, भले ही मेरे पास SelectedIndexChanged ईवेंट तक कोई फ़ंक्शन वायर्ड हो। मैं कोशिश करते हैं और यहाँ मेरे कोड पोस्ट संभव के रूप में व्यवस्थित होगी:DropDownList's SelectedIndexChanged ईवेंट

पहले, वास्तविक वस्तु के एचटीएमएल कोड:

<asp:DropDownList ID="logList" runat="server" 
     onselectedindexchanged="itemSelected"> 
</asp:DropDownList> 

और यह है कि समारोह, itemSelected:

protected void itemSelected(object sender, EventArgs e) 
{ 
    Response.Write("Getting clicked; " + sender.GetType().ToString()); 
    FileInfo selectedfile; 
    Response.Write("<script>alert('Hello')</script>"); 
    foreach (FileInfo file in logs) 
    { 
     if (file.Name == logList.Items[logList.SelectedIndex].Text) 
     { 
      Response.Write("<script>alert('Hello')</script>"); 
     } 
    } 
} 

में से कोई भी प्रतिक्रियाएं दिखाई देती हैं, और जावास्क्रिप्ट का वह हिस्सा कभी नहीं चलाया जाता है। मैंने फ़ायरफ़ॉक्स के नवीनतम 3.6 संस्करण के साथ-साथ इंटरनेट एक्सप्लोरर 8 पर यह कोशिश की है। इसे विंडोज सर्वर 2003 आर 2 मशीन से परोसा जा रहा है, .NET Framework संस्करण 4 के साथ ASP.Net चला रहा है।

अगर कोई मदद कर सकते हैं, यह बहुत अच्छा होगा।

+0

दोस्तों, एक उत्तर पहले से ही दिया गया है और चुना गया है, इस प्रश्न का उत्तर देना जारी रखना आवश्यक नहीं है। – TGP1994

उत्तर

340

ड्रॉपडाउनलिस्ट AutoPostBack संपत्ति को सत्य पर सेट करें।

उदाहरण के लिए:

<asp:DropDownList ID="logList" runat="server" AutoPostBack="True" 
     onselectedindexchanged="itemSelected"> 
    </asp:DropDownList> 
+3

ठीक है, ऐसा लगता है कि इसे ठीक किया गया है, धन्यवाद। क्या आप व्यख्या कर सकते हैं? – TGP1994

+2

@ टीजीपी 1 9 4 9: ऑटोपोस्टबैक प्रॉपर्टी का उपयोग सेट या लौटने के लिए किया जाता है या नहीं, स्वचालित पोस्ट बैक होता है –

+1

ड्रॉपडाउन सूची का चयन करते समय, यह सूची –

72

DropDownList पर AutoPostBack="True" सेट करने का प्रयास करें।

38

मैं अपने बिट पुराने पोस्ट पता है, लेकिन अभी भी मैं ऊपर उत्तर देने के लिए कुछ जोड़ना चाहते हैं।

ऐसी स्थिति हो सकती है जहां "मूल्य" ड्रॉपडाउन सूची में एक से अधिक आइटम डुप्लीकेट/समान है। तो, क्या आप इस गति प्रदान करने के सूची आइटम में कोई दोहराया मूल्यों है कि बनाने के "onselectedindexchanged" घटना

1

क्या आप कोड लिखा है के insted आप जैसे dropdownlist नियंत्रण SelectedIndexChanged का ईवेंट में सीधे लिख सकते हैं

protected void ddlleavetype_SelectedIndexChanged(object sender, EventArgs e) 
{ 
*************** 
*********** 
**** 
} 
+0

उपयोग के लिए ऑटोपॉस्टबैक का उपयोग करने के लिए केवल तभी जब एएसपीएक्स पृष्ठ पर ऑटोइवेंटवायरअप सेटिंग सही है, अन्यथा आपको मूल उदाहरण के अनुसार इसे मैन्युअल रूप से करने की आवश्यकता है। –

10

संपत्ति ViewStateMode="Enabled" जोड़ें और EnableViewState="true" और AutoPostBack="true" ड्रॉप में DropDownList

अधिक जानकारी के click here

1

के लिए मुझे जवाब था aspx पेज विशेषता, मैं Async = "true" जोड़ा के लिए पेज विशेषताओं और यह करने के लिए मेरी समस्या हल हो गई।

<%@ Page Language="C#" MasterPageFile="~/MasterPage/Reports.Master"..... 
    AutoEventWireup="true" Async="true" %> 

यह मेरा अद्यतन पैनल की संरचना

<div> 
    <asp:UpdatePanel ID="updt" runat="server"> 
    <ContentTemplate> 

     <asp:DropDownList ID="id" runat="server" AutoPostBack="true"  onselectedindexchanged="your server side function" /> 

    </ContentTemplate> 
    </asp:UpdatePanel> 
</div> 
2

यह भी सुनिश्चित करें पृष्ठ मान्य है है। आप ब्राउज़र डेवलपर उपकरण में यह जांच कर सकते हैं (F12)

कंसोल टैब में सही लक्ष्य/फ्रेम का चयन करें और [Page_IsValid] संपत्ति के लिए

जाँच पेज मान्य नहीं है, तो प्रपत्र सबमिट नहीं होंगे और इसलिए घटना को आग नहीं।

+0

हर्बलमार्ट के लिए वोट दें। मेरे मामले में पृष्ठ अमान्य था, लेकिन क्योंकि मैं अपने पृष्ठों पर टेलीरिक RadAjaxManager का उपयोग करता हूं, जब मैंने अपने ब्राउज़र में परीक्षण किया था तो त्रुटि दिखाई नहीं दे रही थी। जब मैंने पूरे RadAjaxManager पर टिप्पणी की तो त्रुटि स्वयं प्रस्तुत हुई और मैं इसे ठीक करने में सक्षम था। – user2721607