ASP.NET ajax控件问题求教~
就是实现注册时候利用ajax检测用户是否已经被注册的功能。新手,不知道问题出在哪,指教下~!数据库很简单,就一个Name字段,也就是用户名。reg1.aspx页面代码:<...
就是实现注册时候利用ajax检测用户是否已经被注册的功能。新手,不知道问题出在哪,指教下~!
数据库很简单,就一个Name字段,也就是用户名。
reg1.aspx页面代码:
<body>
<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" MaxLength="50" AutoPostBack="True"
EnableTheming="True" Height="19px"
style="margin-bottom: 0px" ontextchanged="TxtName_TextChanged"></asp:TextBox>
<asp:Label ID="LblCheckName" runat="server" Text="允许注册" ForeColor="Red"
Visible="False"></asp:Label><br />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="TxtName" EventName="TextChanged" />
</Triggers>
</asp:UpdatePanel>
<asp:UpdateProgress ID="UpdateProgress1" runat="server"
AssociatedUpdatePanelID="UpdatePanel1" DisplayAfter="200">
<ProgressTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl="~/Images/Loading16x16.gif" />
</ProgressTemplate>
</asp:UpdateProgress>
</div>
</form>
</body>
reg1.aspx.cs页面代码:字数太多就用图片啦,在输入框中输入了用户名也没有提示 允许注册 或者 该账号已存在 的信息 是写的有问题吗? 展开
数据库很简单,就一个Name字段,也就是用户名。
reg1.aspx页面代码:
<body>
<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" MaxLength="50" AutoPostBack="True"
EnableTheming="True" Height="19px"
style="margin-bottom: 0px" ontextchanged="TxtName_TextChanged"></asp:TextBox>
<asp:Label ID="LblCheckName" runat="server" Text="允许注册" ForeColor="Red"
Visible="False"></asp:Label><br />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="TxtName" EventName="TextChanged" />
</Triggers>
</asp:UpdatePanel>
<asp:UpdateProgress ID="UpdateProgress1" runat="server"
AssociatedUpdatePanelID="UpdatePanel1" DisplayAfter="200">
<ProgressTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl="~/Images/Loading16x16.gif" />
</ProgressTemplate>
</asp:UpdateProgress>
</div>
</form>
</body>
reg1.aspx.cs页面代码:字数太多就用图片啦,在输入框中输入了用户名也没有提示 允许注册 或者 该账号已存在 的信息 是写的有问题吗? 展开
1个回答
展开全部
我看了你的代码,代码应该问题不大,至少逻辑是合适的。
但是存在硬伤;
object i = cmd.ExecuteScalar();
if(i!=null)
{
}
这句有问题,很可能cmd.ExecuteScalar();会报错,如果没数据,是没办法取出第一列的,你最好读取成DataTable去判断行数。
还有,TextChange事件是需要失去焦点时才会触发的。你可以用javascript的当按键弹起后提交。
javascript事件:onkeyup="__doPostBack('xxxxx')";
__doPostBack("") 这个方法是.net内置的提交事件,具体你可以查度娘。
还有,在你的页面
<Triggers>
<asp:AsyncPostBackTrigger ControlID="TxtName" EventName="TextChanged" />
</Triggers>
这句是无效的。没用。
但是存在硬伤;
object i = cmd.ExecuteScalar();
if(i!=null)
{
}
这句有问题,很可能cmd.ExecuteScalar();会报错,如果没数据,是没办法取出第一列的,你最好读取成DataTable去判断行数。
还有,TextChange事件是需要失去焦点时才会触发的。你可以用javascript的当按键弹起后提交。
javascript事件:onkeyup="__doPostBack('xxxxx')";
__doPostBack("") 这个方法是.net内置的提交事件,具体你可以查度娘。
还有,在你的页面
<Triggers>
<asp:AsyncPostBackTrigger ControlID="TxtName" EventName="TextChanged" />
</Triggers>
这句是无效的。没用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询