using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using System.Web.Script.Services;
using System.Collections.Generic;namespace WebApplication1.App_Code
{
/// <summary>
/// WebService1 的摘要说明
/// </summary>
[WebService(Namespace = "http://www.hodoja.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
public WebService1()
{
}
[WebMethod(EnableSession=true)]
public List<Model.UserInfo> GetAll()
{
return new BLL.UserManager().GetAll();
}
[WebMethod(EnableSession = true)]
public Model.UserInfo LoginUser(string uname, string upwd)
{
return new BLL.UserManager().LoginUser(uname,upwd);
}
}
}function LoginUser()
{
var uname = document.getElementById("txtUname").value;
var upwd = document.getElementById("txtUpwd").value;
WebService1.LoginUser(uname,upwd,WebServiceSucceededMethod,WebServiceFailedMethod,LoginUserCallBack)
}
function LoginUserCallBack(result)
{
if(result !=null)
{
alert("成功");
}
else
alert("失败");
}//WebService调用成功时回调的函数
function WebServiceSucceededMethod(result, callback)
{
try{
if (callback != null)
callback(result);
}
catch(err){
if (top.debug)
{
alert('错误:'+err.message)
}
}
}//WebService调用失败时回调的函数
function WebServiceFailedMethod(result, callback)
{
try{
if (callback != null)
{
callback(result);
}
else
{
alert('网络错误,请稍候再试!');
}
}
catch(err){
if (top.debug)
{
alert('错误:'+err.message)
}
else
{
alert('网络错误,请稍候再试!');
}
}}
页面就2个textbox和一个按钮 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>登陆页面</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Path="~/Main.js"/>
</Scripts>
<Services>
<asp:ServiceReference Path="~/App_Code/WebService1.asmx"/>
</Services>
</asp:ScriptManager>
<div>
用户名<asp:TextBox ID="txtUname" runat="server"></asp:TextBox><br />
密码 <asp:TextBox ID="txtUpwd" runat="server" TextMode="Password"></asp:TextBox><br />
<asp:Button runat="server" ID="btnLogin" Text="登陆" OnClientClick="LoginUser();"/>
</div>
</form>
</body>
</html>
后台CS文件
/// <summary>
/// 检查用户名是否占用
/// </summary>
/// <param name="userName">输入的附件名</param>
/// <returns>检查结果,为“ok"或出错信息</returns>
[System.Web.Services.WebMethod]
public static string IsFileNameExist(string userName)
{
System.Threading.Thread.Sleep(3000);
if (BLL.UsersBLL.IsValidataUserName(userName) == false)
{
return "ok";
}
else
{
return "对不起,你输入的用户名" + userName + "已被占用,请输入其他名字后再试";
}
} js 文件里用
PageMethods.IsFileNameExist(document.getElementById(sid).value, DealWithResult); 方法调用后台代码
WebApplication1.App_Code.WebService1.LoginUser(uname,upwd,WebServiceSucceededMethod,WebServiceFailedMethod,LoginUserCallBack)......即加上命名空间....
http://www.cnblogs.com/lxinxuan/archive/2007/05/24/758317.html
这个你看看
这样就可以了 我试过了 是ok的