Ajax+asp.net实现用户登陆

以用户登录为例练习ajax的使用方法

login.html

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title></title>
  <script type="text/javascript">
    var obj = createobj();

    function login(name, pwd)
    {
      var urlstr = "http://localhost:14248/server.aspx?username=" + name + "&password=" + pwd;
      obj.open("get", urlstr, true);
      obj.onreadystatechange = dowork;
      obj.send();
    }

    function dowork()
    {
      if (obj.readyState == 4)
      {
        if (obj.status == 200)
        {
          document.getElementById("msg").innerText = obj.responseText;
        }
      }
    }
    //创建对象
    function createobj()
    {
      var xmlHttp = null;
      try {
        //非IE浏览器
        xmlHttp = new XMLHttpRequest();
      }
      catch (e)
      {  //IE浏览器
        try{
          xmlHttp = new ActiveXObject("Msxml2.HTTP");
        }
        catch (e)
        {
          xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
      }
      return xmlHttp;
    }
  </script>
</head>
<body>
  <table>
    <tr>
      <td align="center" colspan="2">登录</td>
    </tr>
    <tr>
      <td>用户名:</td>
      <td><input type="text" id="username" name="username" /></td>
    </tr>
    <tr>
      <td>密码:</td>
      <td><input type="password" id="password" name="password" /></td>
    </tr>
    <tr>
      <td >
        <input type="submit" value="登录" onclick="login(document.getElementById('username').value,document.getElementById('password').value)" />
      </td>
      <td>
        <input type="reset" value="清空" />
      </td>
      <td><span id="msg"></span></td>
    </tr>
  </table>
</body>
</html>

DAL.cs

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;

namespace AJAXtest
{
  public class DAL
  {
    private string connstr = "server=acer-pc;database=mydatabase;user id=sa;password=123456";
    public DataTable selectDB(string sql)
    {
      DataTable dt = new DataTable();
      try
      {
        SqlConnection conn = new SqlConnection(connstr);
        SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
        sda.Fill(dt);
      }
      catch(Exception e)
      {}
      return dt;
    }
  }
}

BLL.cs

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;

namespace AJAXtest
{
  public class BLL
  {
    public bool login(string username,string password)
    {
      try
      {
        string sql = "select password from Users where username='" + username + "'";
        DAL sqlSelect = new DAL();
        DataTable dt = sqlSelect.selectDB(sql);
        if (dt.Rows[0]["password"].ToString() != password)
          return false;
      }
      catch (Exception)
      {
      }
      return true;
    }
  }
}

Server.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace AJAXtest
{
  public partial class Server : System.Web.UI.Page
  {
    protected void Page_Load(object sender, EventArgs e)
    {
      string username = Request["username"].ToString();
      string password = Request["password"].ToString();
      BLL b = new BLL();
      if (b.login(username, password))
      {
        Response.Write("登录成功");
        Response.End();
      }
      else
      {
        Response.Write("登录失败");
        Response.End();
      }
    }
  }
}

Server.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Server.aspx.cs" Inherits="AJAXtest.Server" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title></title>
</head>
<body>
  <form id="form1" runat="server">
  <div>

  </div>
  </form>
</body>
</html>

以上所述就是本文的全部内容了,希望大家能够喜欢。

(0)

相关推荐

  • asp.net+ajax+sqlserver自动补全功能实现解析

    代码下载 说明:数据库连接字符串在web.config文件中,为方便运行使用的是官方的Northwind数据库. 参考(向其作者致敬): ² http://www.loveweb8.com/plus/demo.php?aid=57这个例子是html源码.利用jquery.autocomplete插件利用js实现了自动补全功能.由于我的需要是结合sqlserver数据库表实现自动补全功能.就下来就是将数据库表转为js数组,自然而然就想到了ajax. ² Asp.NetAjax的两种基本开发模式这篇

  • Asp.net ajax实现任务提示页面的简单代码

    复制代码 代码如下: <%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">    void WaitFiveS

  • asp.net使用AJAX实现无刷新分页

    查询功能是开发中最重要的一个功能,大量数据的显示,我们用的最多的就是分页. 在ASP.NET 中有很多数据展现的控件,比如Repeater.GridView,用的最多的GridView,它同时也自带了分页的功能.但是我们知道用GridView来显示数据,如果没有禁用ViewState,页面的大小会是非常的大的.而且平时我们点击首页,下一页,上一页,尾页这些功能都是会引起页面回发的,也就是需要完全跟服务器进行交互,来回响应的时间,传输的数据量都是很大的. AJAX的分页可以很好的解决这些问题. 数

  • ASP.NET与Ajax的实现方式小总结

    Ajax 已经很流行一阵子了,现在谈 Ajax 觉得有点老土,-_____-```.目前所谓的 Web2.0 网站,基本上没有不使用 Ajax 的,就如使用 RSS 一样,就如同一个标签,贴上去就成了 2.0.Ajax 具体细节不谈,其目的就是让用户触发一些操作的时候,页面不会全部刷新,只刷新待更新的"部分页面",加载数据的过程中,用 Loading 的图片来表示正在加载数据,不只是看起来挺不错,也提高了用户的访问体验,有一种酷酷的感觉. 至于 ASP.NET 中用到的 Ajax ,我

  • ASP.NET中使用Ajax的方法

    $.ajax向普通页面发送get请求这是最简单的一种方式了,先简单了解jQuery ajax的语法,最常用的调用方式是这样:$.ajax({settings}); 有几个常用的setting,全部参数及其解释可以去jQuery官方API文档查询 1. type:请求方式 get/post2. url:请求的Uri3. async:请求是否为异步4. headers:自定义的header参数5. data:发往服务器的参数6. dataType:参数格式,常见的有string.json.xml等7

  • asp.net中利用Jquery+Ajax+Json实现无刷新分页的实例代码

    复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="AjaxJson.aspx.cs" Inherits="AjaxJson" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR

  • asp.net+ajax的Post请求实例

    本文实例讲述了asp.net+ajax的Post请求的实现方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: //一个ajax的Post请求       function submitInfo() {          $(".warn").hide(); //刚提交的时候隐藏错误的信息          var data = $("#formData").serialize(); //将表单的数据通过序列化表单值,创建 URL 编码文本字符串.形成一个表

  • ASP.NET搭配Ajax实现搜索提示功能

    平时的软件开发中,信息的搜索是经常碰到的,增加搜索关键字提示是提高用户体验的一种很好的办法.今天就介绍下在ASP.NET如何利用AJAX来实现搜索的信息提示! 1.需要了解的一些知识点 (1)AJAX对象不同浏览器的创建 不同的浏览器对AJAX(XMLHttpRequest)对象的实现是不一样的,例如IE浏览器是通过ActiveX控件来实现AJAX对象.而其他一些浏览器比如火狐,它将AJAX对象实现成了一个浏览器内部的对象叫XMLHttpRequest,所以不同的浏览器创建AJAX对象的方式也就

  • ASP.NET基于Ajax的Enter键提交问题分析

    本文实例讲述了ASP.NET基于Ajax的Enter键提交.分享给大家供大家参考,具体如下: 近日遇到一个Enter键的问题,总结下: 1. 首先复习下html form对Enter的响应,不同的浏览器对Enter的处理略有不同,这里采用IE7 A. html form只有一个TextBox, 没有submit按钮, 点Enter 提交form. B. >1个TextBox, 没有submit按钮, 点Enter ,form没有响应. C. 页面有一个(或多个)submit按钮, 点Enter,

  • 轻量级asp.net ajax解决方案详解

    本文实例讲述了轻量级asp.net ajax解决方案.分享给大家供大家参考,具体如下: 跟shotdog老师研究探讨了下asp.net里,除官方庞大asp.net ajax之外的ajax解决方案.我们想法是以不同的服务器端方式输出,然后在页面使用jQuery的ajax实现调用服务器端几个解决方案: 1.使用一般的webform,在页面用jQuery ajax调用,再从取得的html数据中取得<body>内的内容,写入DOM 优点:不用改变现有的asp.net开发模式,可以使用现成的页面:aja

  • ASP.NET中TextBox使用Ajax控件显示日期不全的问题解决方法

    正常的引用 复制代码 代码如下: <%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="AjaxToolKit" %><asp:TextBox ID="txtRecordTime" runat="server" cssclass="style" width

  • jquery.Ajax()方法调用Asp.Net后台的方法解析

    利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法.先来个简单的实例热热身吧. 1.无参数的方法调用asp.net code: 复制代码 代码如下: using System.Web.Script.Services; [WebMethod]   public static string SayHello()   {        return "Hello Ajax!";   }  using System.Web.Script.Services; [WebMe

  • asp.net+ajax简单分页实例分析

    本文实例讲述了asp.net+ajax简单分页实现方法.分享给大家供大家参考,具体如下: 这里涉及两个.aspx文件,一个叫Default.aspx,一个叫AjaxOperations.aspx,第一个用来显示一些测试数据,后一个用来对分页进行处理.js文件夹下面还有一个testJs.js的文件,它就是ajax操作的核心部分.不错,code is cheap.看代码: /*testJs.js*/ // 此函数等价于document.getElementById /document.all fun

随机推荐