如题。<asp:UpdatePanel ID="upGv" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnMySp" />
运行一次会成功但生成
<asp:UpdatePanel ID="upGv" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnMySp" />
<System.Web.UI.AsyncPostBackTrigger ControlID="btnMySp"></System.Web.UI.AsyncPostBackTrigger>
再次运行会出现错误
System.Web.UI.UpdatePanelTriggerCollection 必须具有类型为“System.Web.UI.UpdatePanelTrigger”的项。“System.Web.UI.AsyncPostBackTrigger”的类型为“System.Web.UI.HtmlControls.HtmlGenericControl"
删掉生成代码再运行会成功,但会又生成
再次运行又出现错误

解决方案 »

  1.   

    那是因为你触发了btnMySp这个按钮事件,但这个按钮又没有包含在UpdatePanel里面
    你加上这句应该就可以了
    <asp:UpdatePanel>
    <ContentTemplate>
    </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="btnMySp" />
            </Triggers>
    </asp:UpdatePanel>
      

  2.   

    我从来不在 UpdatePanel 中使用 <Triggers> 节,因为在asp.net ajax刚刚发布时,我测试过<Triggers>在跟master page以及其它user control结合时有严重的bug,而且也完全不需要它(因为你可以在后台代码中让任何UpdatePanel刷新),所以就再也不用了。