日期:2014-05-17  浏览次数:20571 次

为什么将服务器控件放入ScriptManager里面,服务器控件的事件会没反应???
例如:
<asp:ScriptManager runat="server" ID="sm1" />
        <asp:UpdatePanel runat="server" ID="up1">
          <ContentTemplate>  
              <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
          </ContentTemplate>
</asp:UpdatePanel>

这是为什么。。。。???

------解决方案--------------------
1、服务器控件并没有放在ScriptManager里面,而是放在了UpdatePanel里面。
2、Button的事件并不是没反应,而是进行了Ajax的数据提交。
你可以试一下下面两种代码执行的效果:

buttonclick事件:
txt1.Text = "hello";
第一种:
<asp:ScriptManager runat="server" ID="sm1" />
        <asp:UpdatePanel runat="server" ID="up1">
          <ContentTemplate>  
              <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
<asp:TextBox id = "txt1" runat="server" Text=""/>
          </ContentTemplate>
</asp:UpdatePanel>
第二种:
<asp:ScriptManager runat="server" ID="sm1" />
        <asp:UpdatePanel runat="server" ID="up1">
          <ContentTemplate>  
              <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />

          </ContentTemplate>
</asp:UpdatePanel>
<asp:TextBox id = "txt1" runat="server" Text=""/>