在B/S结构中,客户端调用服务器端函数的方法

      学习日记 2007-5-15 9:46

在实际的编写代码过程,由于.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);//输出结果值..

}

}

这是简单的例子,可能细节地方还有点误差。。。,先学习下..

标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commenttime}{commentauthor}

{CommentUrl}
{commentcontent}