日期:2014-05-17  浏览次数:20439 次

PageMethods.Method(Class T)调用问题。。
传统WebForm,在aspx页面加入ScriptManager组件
然后aspx.cs代码中有一个静态方法:

 [WebMethod, ScriptMethod]
  public static string LoadHtml(Student student)
   {
     ..................
   }

public Class Student
{
  public string Name{get; set;}
  public int Age { get; set;}
  public string ClassName {get; set;}
}


 那么aspx客户端jquery 如何调用这个LoadHtml方法呢?也就是参数Studnent怎么传?

var student;//问题一:这里student怎么赋值??
PageMethods.LoadHtml(student,function(html){

},function(e){

});


======================================
举一发三,假设不用PageMethods.Method(.....)这种调用方式。
采用传统$.ajax({});

var currentMode={
     page=1,
     "mode":{
         "Name":"Li LEI",
         "Age":18,
         "ClassName":"Class A"
     },
     "OrderBy":"CreateTime" 
};


var searchMode=currentMode||{};
$.ajax({
   url:....,
   data:searchMode,
   method:post,
   success:function(html){
        ...........
   },
   error:function(html){
   ................
  }
});


IhttpHandler.cs代码
void GetResponse(T value)
{

}
//问题二:这里的参数类T要怎么定义。。。。。


------解决方案--------------------
jQuery.ajax(url:"/xxx/LoadHtml",data:{student:{Name:xxx,Age:12,ClassName:""}})

GetResponse(object value)