Asp.net 自带的Ajax Extensions中得ScriptManage和 UpdatePanel可以一起实现局部刷新,提高速度和节省网络流量
注意的是:
1 页面只可以有一个ScriptManage控件,最好放在头部,放在UpdatePanel之前
HTML上代码
ContractedBlock.gifExpandedBlockStart.gifView 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="局部刷新" "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="正常" "96px" /
/div


注意ID="Button2" 在UpdatePanel外面,正常刷新
后台逻辑代码比较简单,就是现实选择的值和时间 ID="Button1" 和 ID="Button2"逻辑代码一样
ContractedBlock.gifExpandedBlockStart.gifView Code string str = string.Format("当前选择的值是:{0},时间是:{1}", this.DropDownList1.SelectedItem.Text, DateTime.Now.ToString());
this.Label1.Text = str;


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