AJAX判断用户名是否被注册
用的标签有ScriptManager,UpdatePanel,UpdateProgress ,主要的是UpdatePanel中的Triggers属性一定要对。
前台代码
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox ID="txtName" runat="server" OnTextChanged="txtName_TextChanged" AutoPostBack="true" ></asp:TextBox>
<asp:Literal ID="ltlName" runat="server" ></asp:Literal>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="txtName" EventName="TextChanged" />
</Triggers>
</asp:UpdatePanel>
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
<ProgressTemplate>
正在更新中...
</ProgressTemplate>
</asp:UpdateProgress>
</div>
</form>
后台代码
protected void txtName_TextChanged(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(2000); //为了看清楚UpdateProgress的过程
if (txtName.Text == "123")
{
ltlName.Text = "已经被注册";
}
else
{
ltlName.Text = "可以注册";
}
}
相关文档:
了解使用 ASP.NET AJAX 进行局部页面更新
简介
Microsoft的 ASP.NET 技术提供了一个面向对象、事件驱动的编程模型,并将其与已编译代码的优势结合起来。但其服务器端的处理模型仍存在技术本身所固有的几点不足:
进行页面更新需要往返服务器,因此需要页面刷新;
来回往返不会保留 Javascript 或其他客户端技术(如 Ad ......
今天,有同事发现相关业务数据修改后,在IE6下还是显示修改前的值。但在其他浏览器和IE7、IE8下,没有这个问题。
原因:用ajax请求时,如果出现重复的URL,浏览器不会向服务器发送请求,而是根据之前相同的URL请求结果返回。原因就在于之前的请求及结果已经保存在了
缓存里,如果遇到相同URL时,结果是直接从缓存里取得。 ......
原来用jQuery的ajax方式调用asp.net页面基本都是调用单个页面,由调用页面Response内容,而现在采用asp.net ajax后,我们则可以更完美的使用jQuery和asp.net结合了,代码如下:
<asp:ScriptManager ID="ScriptManager1" runat="server" >
<Scripts>
<asp:ScriptReference Path="http ......
其实ajax的东西不是很熟悉,而且对于javascript这样零碎的语言实在是很抗拒。于是过去一直都逃避它,迫于项目的压力,不得已惟有硬碰硬了。为了快速上手,之前做了几个小实验,代码实在太多了。幸好struts2提供了一些ajax的简易实现。
跟网上所有的教程一样,先从最简单的开始吧~
在头结点加上<s:head theme="ajax"/&g ......