007系列之Ajax,WebService 共同打造(用户名是否已被注册提醒)

    六月的津城,天气依旧很热。最近有点时间,去网易注册了个邮箱,挺有意思,注册了6个名称,好家伙,这六个名称都被别的

户注册了。我很郁闷,意外的是它的及时提醒信息相当的好。之前大家是否遇到这样的问题:我去一个网站注册,填了一堆东

西,点提交,倒霉的是来了这样的话,“你的用户名已被别人注册,请重新填写。”又重新填了一遍,得到的是相同答案。在也没

有了那种热情去注册了,算了吧,不注册也罢。这样的问题,让人纠结,然而,后来就有了解决的技术。

  使用Ajax,WebService 共同打造(用户名是否已被注册提醒),说到此处,还得感谢周公大哥也就是《夜话视频教程》的作者,

软的MVP。他很牛的,我看了他的讲解后,并且去网易注册的经历,我想把自己学习的过程做个随笔记录。

  开场台词有点多,进入正文吧!

       1,流程:

             使用1) VS2008自带的Ajax控件,    先建个页面,   页面代码:

<body>
    <form id="form1" runat="server">
     <asp:ScriptManager ID="ScriptManager1" runat="server" EnableScriptGlobalization="True" EnableScriptLocalization="True" >
        <Services>
                  <asp:ServiceReference Path="ZhuCeWebService.asmx" />
        </Services>
    </asp:ScriptManager>
   
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
     <ContentTemplate>
        <div>
       用户名: <asp:TextBox ID="txtUserName" runat="server" Width="237px" οnkeyup="return CheckUserName(this);"></asp:TextBox>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <asp:Label ID="lblUserName" runat="server" Text="" ForeColor="Red"></asp:Label>
                <br />
                <br />
       密码:  <asp:TextBox ID="txtPWD" runat="server" Width="244px"></asp:TextBox>&nbsp;
                <br />
                <br />&nbsp;&nbsp;&nbsp;
               <asp:Button ID="Button1" runat="server" Text="注册" οnclick="Button1_Click"  Width="56px" />
       </div>
     </ContentTemplate>
    </asp:UpdatePanel>
    </form>
</body>
</html>
<script language="javascript" type="text/javascript">

function CheckUserName(obj)
{
   var userName=obj.value;
 
 
  ZhuCeWebService.CheckUser(userName,HuiDiao);
}

function HuiDiao(returnResult) //此法随便定义,回调方法
{
   document.getElementById("lblUserName").innerText=returnResult;//输出的提示消息
}

</script>

有οnkeyup="return CheckUserName(this);" 事件,调用function CheckUserName(obj)脚本。

接着去调用  ZhuCeWebService.CheckUser(userName,HuiDiao);

这是APP_CODE下的类ZhuCeWebService.CheckUser(userName,HuiDiao);的方法。

2)建一个WEB服务 ZhuCeWebService.asmx,他里面一句话,重点看APP_CODE下的类,即ZhuCeWebService.cs

里面代码:

//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[System.Web.Script.Services.ScriptService] //.............//因为是AJAX调用WebService,所以必须取消注释。
public class ZhuCeWebService : System.Web.Services.WebService
{

    public ZhuCeWebService()
    {

        //如果使用设计的组件,请取消注释以下行
        //InitializeComponent();
    }

    [WebMethod]
    public string CheckUser(string userName)
    {
        SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=你自己的;User ID=sa ;Password=www.csdn");
        SqlCommand com = new SqlCommand("select *from UserInfo", conn);
        SqlDataAdapter da = new SqlDataAdapter(com);
        DataTable dt = new DataTable();
        da.Fill(dt);

        DataRow[] dr = dt.Select("UserName='" + userName+"'");//("TxtCode = '" + TxtCode +"'");

        return (dr.Length > 0) ? "用户已存在,不能注册!" : "此用户可以注册!";
    }

}

到此为止,注册及时提醒就告一段落了。

 总结:使用Ajax无刷新技术,调用web服务,实现信息提醒。

  此文是初学者随手记录,有不到处,望高人指点。                  7.24                   

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值