日期:2014-05-16 浏览次数:20827 次
近来我发现我一些同事,在用ajax时,用数据源,都喜欢重新新建一个页面.其实我是很不喜欢这种模式,主要原因,一是后期维护麻烦,还要去找哪些页面,二是不能调用一些本页原有的数据方法.因此我在这里做了一个测试的案例,在这里,我们有2种方法来掉用本页的数据源方法. 一种是webservice 方法. 那就是在本页里添加webservice 方法.如下
[WebMethod]
public static string GetWord(string arg)
{
return "调用 webService,值是"+arg;
}
这样就可以在客户端,前掉调用该方法了.如下
var sdata = "http://www.cnblogs.com/incubator/archive/2011/12/09/{arg:'" + $("#txtVal").val() + "'}";
$.ajax({
type: "POST",
contentType: "application/json;utf-8",
data: sdata,
// dataType: "json",
url: "Default.aspx/GetWord",
success: function (msg) {
// debugger;
// var json = eval('(' + msg + ')');
alert(msg.d);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
debugger;
alert("ok");
// 通常 textStatus 和 errorThrown 之中
// 只有一个会包含信息
// this; // 调用本次AJAX请求时传递的options参数
}
第二种是通过参数,来控制,是否调用数据源方法.
后台代码如下:
protected void Page_Load(object sender, EventArgs e)
{
string methor = Request["act"];
if (!string.IsNullOrEmpty(methor))
{
this.GetType().GetMethod(methor).Invoke(this,null);