在B/S架构中实现局部刷新的方式主要用2种:
1.使用AJAX方式
2.使用UpdatePanel控件
比较常用的JQuery里面的AJAX方法
$.ajax({
type: "POST",
url: "/Common/SvrAccount.asmx/VlidateUserEmail",
data: "userEmail=" + userEmail,
success: function(data) {
if (data.text == "1") {
alert("此邮箱已有人使用,请换一个");
document.getElementById("txtEmail").value = "";
document.getElementById("txtEmail").focus();
return false;
}
else if (data.text == "2") {
return true;
}
else {
alert(data.text);
return false;
}
},
error: function() { alert("服务器没有返回数据,可能服务器忙,请重试"); return false; },
onerror: "该邮箱不可用,请更换用户名",
onwait: "正在对邮箱进行合法性校验,请稍候..."
});
另外一种使用UpdatePanel控件:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:Button ID="Button2" runat="server" Text="Button" />
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" />
</Triggers>
<ContentTemplate>
<fieldset>
<legend>UpdatePanel 内容</legend>
<%=DateTime.Now.ToString() %>
</fieldset>
</ContentTemplate>
</asp:UpdatePanel>
<fieldset>
<legend>UpdatePanel 内容</legend>
<%=DateTime.Now.ToString() %>
</fieldset>
</div>
</form>
</body>
</html>