ajax实例,可以了解ajax的原理
源代码在线查看: sample.aspx
Inherits="ClientScripting_SysServices_Sample" Title="Sys.Services命名空间下的类" %>
帐号:
密码:
年龄:
薪水:
var userId;
var password;
var login;
var logout;
var age;
var salary
function pageLoad()
{
userId = $get("txtUserId");
password = $get("txtPassword");
login = $get("btnLogin");
logout = $get("btnLogout");
age = $get("txtAge");
salary = $get("txtSalary");
// path - authentication service路径
$get("result").innerHTML = "AuthenticationService path:" + Sys.Services.AuthenticationService.get_path() + "";
// timeout - 超时时间
$get("result").innerHTML += "AuthenticationService timeout:" + Sys.Services.AuthenticationService.get_timeout() + "";
// path - profile service路径
$get("result").innerHTML += "ProfileService path:" + Sys.Services.ProfileService.get_path() + "";
// timeout - 超时时间
$get("result").innerHTML += "ProfileService timeout:" + Sys.Services.ProfileService.get_timeout() + "";
}
function btnLogin_click()
{
// defaultLoginCompletedCallback - 登录成功后的回调函数
Sys.Services.AuthenticationService.set_defaultLoginCompletedCallback(onLoginCompleted);
// defaultFailedCallback - 登录或注销失败后的回调函数
Sys.Services.AuthenticationService.set_defaultFailedCallback(onFailed);
Sys.Services.AuthenticationService.login
(
userId.value, // 用户名
password.value, // 密码
false, // 是否跨浏览器保存认证信息(持久保留)
null, // 保留字段,可能在将来使用
null, // 验证成功后重定向到的URL
null, // 登录成功后的回调函数
null, // 登录失败后的回调函数
"用户上下文" // 用户上下文
);
}
function btnLogout_click()
{
// defaultLogoutCompletedCallback - 注销成功后的回调函数
Sys.Services.AuthenticationService.set_defaultLogoutCompletedCallback(onLogoutCompleted);
// defaultFailedCallback - 登录或注销失败后的回调函数
Sys.Services.AuthenticationService.set_defaultFailedCallback(onFailed);
Sys.Services.AuthenticationService.logout
(
null, // 注销成功后重定向到的URL
null, // 注销成功后的回调函数
null, // 注销失败后的回调函数
null // 用户上下文
);
}
function onLoginCompleted(validCredentials, userContext, methodName)
{
password.value = "";
// validCredentials - 是否成功通过了验证
// userContext - 用户上下文
// methodName - 调用的方法名
if (validCredentials)
{
userId.value = "";
$get("result").innerHTML = "登录成功" + "";
$get("result").innerHTML += "用户上下文:" + userContext + "";
$get("result").innerHTML += "调用的方法名为:" + methodName + "";
}
else
{
$get("result").innerHTML = "登录失败" + "";
}
// isLoggedIn - 当前用户是否已经登录
var status = Sys.Services.AuthenticationService.get_isLoggedIn();
$get("result").innerHTML += "登录状态:" + status + "";
}
function onFailed(error, userContext, methodName)
{
// error - Sys.Net.WebServiceError对象
// userContext - 用户上下文
// methodName - 调用的方法名
$get("result").innerHTML += "错误信息:" + error.get_message() + "";
}
function onLogoutCompleted(result, userContext, methodName)
{
// result - 保留字段,可能在将来使用,始终为null
// userContext - 用户上下文
// methodName - 调用的方法名
alert("成功调用" + methodName) + "";
}
function btnLoad_click()
{
// defaultLoadCompletedCallback - 读取Profile成功后的回调函数
Sys.Services.ProfileService.set_defaultLoadCompletedCallback(onLoadCompleted);
// defaultFailedCallback - 读取或保存Profile失败后的回调函数
Sys.Services.ProfileService.set_defaultFailedCallback(onFailed);
Sys.Services.ProfileService.load
(
null, // Profile属性名称数组
null, // 成功后的回调函数
null, // 失败后的回调函数
null // 用户上下文
);
}
function btnSave_click()
{
// defaultSaveCompletedCallback - 保存Profile成功后的回调函数
Sys.Services.ProfileService.set_defaultSaveCompletedCallback(onSaveCompleted);
// defaultFailedCallback - 读取或保存Profile失败后的回调函数
Sys.Services.ProfileService.set_defaultFailedCallback(onFailed);
Sys.Services.ProfileService.properties.Age = age.value;
Sys.Services.ProfileService.properties.Salary = salary.value;
// 定义一个Profile组(同时需要在Web.config中定义)
Sys.Services.ProfileService.properties.Article = new Sys.Services.ProfileGroup();
Sys.Services.ProfileService.properties.Article.Title = "Article Title";
Sys.Services.ProfileService.properties.Article.PublishTime = new Date();
Sys.Services.ProfileService.save
(
null, // Profile属性名称数组
null, // 成功后的回调函数
null, // 失败后的回调函数
null // 用户上下文
);
}
function onLoadCompleted(numProperties, userContext, methodName)
{
// numProperties - 返回的Profile属性个数
// userContext - 用户上下文
// methodName - 调用的方法名
$get("result").innerHTML = "通过Profile读取的属性的数量为:" + numProperties.toString() + "";
$get("result").innerHTML += "Age:" + Sys.Services.ProfileService.properties.Age + "";
$get("result").innerHTML += "Article Title:" + Sys.Services.ProfileService.properties.Article.Title + "";
$get("result").innerHTML += "Article PublishTime:" + Sys.Services.ProfileService.properties.Article.PublishTime.format("yyyy-MM-dd") + "";
}
function onSaveCompleted(numProperties, userContext, methodName)
{
// numProperties - 保存的Profile属性个数
// userContext - 用户上下文
// methodName - 调用的方法名
$get("result").innerHTML = "通过Profile保存的属性的数量为:" + numProperties.toString() + "";
}