2011-05-03 27 views
7

Tüm sayfayı yenilemek zorunda kalmadan işlevleri çalıştırmamı sağlamak için bazı AJAX ve ASP.Net'i birlikte kullanmaya çalışıyorum ancak buASP.NET DropDownList OnSelectedIndexChanged olayı tetiklenmiyor

yapısında bir sorunla karşılaştım

İşte benim kod

<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> 

var Ve burada benim ddl ama eklemeye AutoPostBack="True" yok çünkü olayı başlatılmıyor

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

    txt1.Text = Now.ToString 

End Sub 

arkasında benim kod ddl tüm sayfayı geri gönderecek.

sadece paneli günceller ve böylece AutoPostBack="True" kullanmaktan kaçınmak için bir yolu var mı?

Ben Bunu çözmek için bir asp:Button kullanabileceğini biliyor ama gerçekten sen bütün Görünüm durumu göndermek kaçınmak istiyorsanız OnSelectedIndexChanged

teşekkür

+0

r u emin AutoPostBack = "True" geri gönderme tüm sayfayı için çalıştı? –

+2

autopostback = 'true' ifadesinin eklenmesi tüm sayfayı geri göndermemelidir (en azından sayfa fiske olmaz) - sadece güncelleme panelinin içeriğini güncellemeli midir? – Paddy

cevap

7

bir ddl kullanabilmek istiyorum Sunucu, callbacks'a bakmalısınız. Eğer ancak geri gönderme ile, tüm sayfanın yenilenmesini kaçınmak istiyorsanız

Bunun yerine, bu çalışması gerekir:

<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

Bu harika çalışıyor –

+0

AutoPostBack = "Doğru". Teşekkürler. UpdatePanels'ı (JQuery'yi tercih ediyorum) kullanmaktan nefret ediyorum, bu yüzden zamanında geri gidiyorum gibi hissediyorum. Ama bugün ihtiyacım olan buydu. Oyla. – granadaCoder

+0

Niçin bu soruya başka bir yerde verilmediyse, başka bir soru sorulup sorulmadığı sorulmuştur. Tam olarak aradığım şey. Teşekkürler. – samuelesque

0

aynı kodları ve farklı sayfa adıyla yeni bir sayfa oluşturmayı deneyin. Beni

+1

lütfen yorum yapın ya da iyileştirin –

İlgili konular