下拉列表(在更新面板中)导致FULL PostBack!

use*_*119 9 asp.net ajax ajaxcontroltoolkit

我的AJAX和ASP.NET 3.5有问题:(问题真的很奇怪,因为我在不同的页面上使用相同的东西,它在那里工作正常,但在这个特定的页面,这是行不通的.

这就是我所拥有的:

    <asp:UpdatePanel ID="upMain" runat="server" UpdateMode="Conditional" Visible="true" RenderMode="Inline">
                <ContentTemplate>
<asp:DropDownList ID="ddlNewService_PortTelco" runat="server" Width="250" CssClass="dropdown" AutoPostBack="true" OnSelectedIndexChanged="Provision_PortedTelcoChanged"></asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)

在DropDown之前的路上有一个DIV(html一个),然后是几个asp:Panels.我不明白为什么这会造成全面的回复?

有任何想法吗 ?谢谢

rob*_*ert 18

我遇到了同样的问题......虽然它没有在复制的代码中显示,但请检查以确保在updatepanel中没有ClientIDMode = Static的任何控件....让它们继承

至少任何可能触发回发的控件


小智 5

您有一个AutoPostBack设置为的下拉列表true.这就是为什么你要回帖而不是AsyncPostBack,如果这是你想要的.

AutoPostBack=true从下拉列表中删除并将AsyncUpdatePanel设置的触发器设置为下拉列表及其eventname="SelectedIndexChanged"


Sin*_*Sin 5

我有同样的问题...

检查您的 WEB.CONFIG

<xhtmlConformance mode="Legacy"/>
Run Code Online (Sandbox Code Playgroud)

对于这条线.. 只需删除它!

为我工作。谢谢http://andrew-murphy.co.uk/?p=152


Gen*_*eev 1

你如何绑定你的DropDown?您提供的代码在我这边适用于静态项目。也许是其他控件中的某些内容导致了问题。

我注意到您的 UpdatePanel 的 UpdateMode 属性设置为条件,但是您没有定义任何触发器。您可以尝试显式设置更新面板应在下拉菜单触发其 selectedIndexChanged 事件时执行异步回发。您可以使用类似以下标记的内容:

<asp:UpdatePanel ID="upMain" runat="server" UpdateMode="Conditional" Visible="true"
    RenderMode="Inline">
    <ContentTemplate>
        <asp:DropDownList ID="ddlNewService_PortTelco" runat="server" Width="250" 
            AutoPostBack="true" OnSelectedIndexChanged="Provision_PortedTelcoChanged">
        </asp:DropDownList>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="ddlNewService_PortTelco" EventName="SelectedIndexChanged" />
    </Triggers>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)