asp.net Ajax 之一:ScriptManager

Asp.net 自带的Ajax Extensions中得ScriptManage和 UpdatePanel可以一起实现局部刷新,提高速度和节省网络流量

注意的是:

1 页面只可以有一个ScriptManage控件,最好放在头部,放在UpdatePanel之前

HTML上代码

View Code
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<br />
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="局部刷新" Width="95px" />
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="false">
<asp:ListItem Selected="True" Value="1">a</asp:ListItem>
<asp:ListItem Value="2">b</asp:ListItem>
<asp:ListItem Value="3">c</asp:ListItem>
</asp:DropDownList>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<br />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="正常" Width="96px" />
</div>

注意ID="Button2" 在UpdatePanel外面,正常刷新

后台逻辑代码比较简单,就是现实选择的值和时间 ID="Button1" 和 ID="Button2"逻辑代码一样

View Code
string str = string.Format("当前选择的值是:{0},时间是:{1}", this.DropDownList1.SelectedItem.Text, DateTime.Now.ToString());
this.Label1.Text = str;

测试一下效果,可以发现,Button1可以实现局部刷新,不用回传页面。Button2还是正常的重新回传刷新

原文地址:https://www.cnblogs.com/zjwei55/p/2170303.html