在实际的编写代码过程,由于.net是基于服务器编程的,所以仅通过.net是不能在客户端调用服务器端的函数的。为此我们要引入ajax。
通过ajax就可以告知该函数是通过客户端的一个操作来调用的,就如下面所示:
首先要引入ajax.dll文件,然后在页面中注册该文件
Ajax.Utility.RegisterTypeForAjax( typeof ( **) ).其中**是你要注册的当前页面,比如如果为default.aspx的话,那**就是default,然后在定义方法的前面加入[ Ajax.AjaxMethod]
public string crestring()
{
}
然后在客户端通过一个事件激活调用该函数,在客户端通过javascript 写的函数,例:
<script language="javascript>
function void calltoserver()
{
var strName=_Default.crestring().value;
}
</script>
<input type="button" id="BtnOK" value="button" onclick="calltoserver" />
应该ajax 函数返回的是一个对象包括(Value:服务器端函数的返回值,无论是string,还是int 还是dataset 型.Error:错误信息,如果有的话.Request:xml http请求的原始响应,Context:上下文对象),ajax还有个特性,就是为了处理响应而调用的回调函数
比如:
function calltoserver()
{
_Default.crestring(CallToServer_Back)
在这里的时候我们可以让页面显示为loading的字样..让客户不会觉得太久..
}
定义CallToServer_Back()函数,来处理响应的结果
CallToServer_Back(response)//其中response 就是calltoserver()函数返回的一个对象,在该函数中可以让页面显示为加载完成或加载出错:
{
// 通过判断有没有错误
if(response.Error!=null)
{
alert(response.Error);
return;
}
else
{
alert(response.value);//输出结果值..
}
}
这是简单的例子,可能细节地方还有点误差。。。,先学习下..