ASP.NET客户端如何调用服务器端方法 本帖最后由 xiangxiao_bobo 于 2011-09-22 17:29:11 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用脚本去访问服务端的方法参考AJAX之类的。 Ajax----->ashx你去看看JavaScript下 Ajax,,,,XMLHttpRequest,或者用jQuery,$.load,$.get,$.post,$.ajax很简单,看个这方面的例子就能上手的。 一般是在客户端进行非空验证 OnClientClick="return validateInput();" 之后就登陆验证了,成功就进行下一步,不成功就重新登录接下来你还有做什么? function validateInput() { username=document.getElementById("txtusername").value; userpwd=document.getElementById("txtpwd").value; if(username==null||username=="") { alert("用户名不能为空!"); return false; }else if(userpwd==null||userpwd=="") { alert("密码不能为空!"); return false; }else { var result='<%ValidateUser(("'+username+'",("'+userpwd+'")%>' } } 客户端是发起请求(request),不是调用噢,,,呵呵呵 <td colspan="2" style="height: 26px"><input id="btnlogin" type="button" value="登 陆" OnClientClick="javascript:return validateInput();" /></td>这样就可以了 1、直接将表单提交上去验证2、采用ajax提交验证 JS的好久没写了忘了,我我网上找了个,做个解释,希望你能看懂。<script language="javascript" type="text/javascript">var xmlhttp;function loadXMLDoc(url)//url是你要去请求的相对连接,比如handler/IsLogin.ashx(一定是ashx--一般处理程序){xmlhttp=null;if (window.XMLHttpRequest) {// code for Firefox, Opera, IE7, etc. xmlhttp=new XMLHttpRequest(); }else if (window.ActiveXObject) {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }//上面是创建一个XML请求对象,因为考虑浏览器的种类,所以有判断if (xmlhttp!=null)//对象创建成功 { xmlhttp.onreadystatechange=state_Change;//发送请求后(表现为异步方式),状态改变时,调用的函数,自己定义 xmlhttp.open("GET",url,true);//这是发送请求,Get,Post两种,post无缓存,get会缓存。url可以传参。如:url?id=1,,,在ashx中,通过context.Request["id"]获取 xmlhttp.send(null);//null因为参数挂在url上了,所以无参数,为null }else { alert("你的浏览器不支持XMLHTTP."); }}function state_Change(){if (xmlhttp.readyState==4) {// 4 = "loaded"就是正在请求 if (xmlhttp.status==200) {// 200 = "OK"请求成功,没有参数错误,没有网络超时之类的 document.getElementById('Test1').innerHTML=xmlhttp.responseText;//重点:xmlhttp.responseText就是从ashx处理返回的值,可以是text,xml,json等等ashx通过context.Response.Write("data");传送返回值。如:context.Response.Write("Login");那么xmlhttp.responseText;获取的就是'Login' } else { alert("Problem retrieving data:" + xmlhttp.statusText); } }}有点乱,你自己看下,给你两个参考链接:http://hi.baidu.com/wdch10104/blog/item/17c4aa11bfcd750e5aaf53b8.htmlhttp://www.cnblogs.com/vic_lu/archive/2010/08/27/1810086.html可以学一下jQuery,封装的很好,ajax就更容易了,也能很好的跨浏览器。 jquery ajax··都可以嘛 非常简单的datalist问题 很容易拿分 .net中不用js如何实现单击链接时获取一个系统时间 在用户控件中显示图片的问题。。。。 asp.net中关于session超时解决办法紧急求助 iis不能启动是什么原因?错误提示:“提示服务器没有及时相应启动或控制请求” .net中在前台代码设置输入文本框非空的问题! .net问题 修改WEB.CONFIG会重新启动,无论这个web.config 在那个一个子目录下?是吗? 急救啊 如何在用户控件卸载后刷新用户控件所在主页面 ajax 页面局部更新变乱码,应该如何修正? 长文章分页显示
用脚本去访问服务端的方法参考AJAX之类的。
$.load,$.get,$.post,$.ajax很简单,看个这方面的例子就能上手的。
function validateInput()
{
username=document.getElementById("txtusername").value;
userpwd=document.getElementById("txtpwd").value;
if(username==null||username=="")
{
alert("用户名不能为空!");
return false;
}else if(userpwd==null||userpwd=="")
{
alert("密码不能为空!");
return false;
}else
{
var result='<%ValidateUser(("'+username+'",("'+userpwd+'")%>'
}
}
客户端是发起请求(request),不是调用噢,,,呵呵呵
2、采用ajax提交验证
JS的好久没写了忘了,我我网上找了个,做个解释,希望你能看懂。<script language="javascript" type="text/javascript">var xmlhttp;
function loadXMLDoc(url)//url是你要去请求的相对连接,比如handler/IsLogin.ashx(一定是ashx--一般处理程序)
{
xmlhttp=null;
if (window.XMLHttpRequest)
{// code for Firefox, Opera, IE7, etc.
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
//上面是创建一个XML请求对象,因为考虑浏览器的种类,所以有判断
if (xmlhttp!=null)//对象创建成功
{
xmlhttp.onreadystatechange=state_Change;//发送请求后(表现为异步方式),状态改变时,调用的函数,自己定义
xmlhttp.open("GET",url,true);//这是发送请求,Get,Post两种,post无缓存,get会缓存。url可以传参。如:url?id=1,,,在ashx中,通过context.Request["id"]获取
xmlhttp.send(null);//null因为参数挂在url上了,所以无参数,为null
}
else
{
alert("你的浏览器不支持XMLHTTP.");
}
}function state_Change()
{
if (xmlhttp.readyState==4)
{// 4 = "loaded"就是正在请求
if (xmlhttp.status==200)
{// 200 = "OK"请求成功,没有参数错误,没有网络超时之类的
document.getElementById('Test1').innerHTML=xmlhttp.responseText;//重点:xmlhttp.responseText就是从ashx处理返回的值,可以是text,xml,json等等ashx通过context.Response.Write("data");传送返回值。如:context.Response.Write("Login");那么xmlhttp.responseText;获取的就是'Login'
}
else
{
alert("Problem retrieving data:" + xmlhttp.statusText);
}
}
}
有点乱,你自己看下,
给你两个参考链接:
http://hi.baidu.com/wdch10104/blog/item/17c4aa11bfcd750e5aaf53b8.html
http://www.cnblogs.com/vic_lu/archive/2010/08/27/1810086.html可以学一下jQuery,封装的很好,ajax就更容易了,也能很好的跨浏览器。