Ext.Net Js调用WebService方法以json对象传递参数

 

  • 概述
     ExtNet控件在自定义控件中使用存在很多的问题,由于ResourceManager控件在页面中必须唯一存在,所以自定义控件中无法使用从而导致Ext控件无法使用js句柄调用后置页面中的方法,我也曾尝试使用ajax的方式调用后置页面中的方法但是执行失败,此时我便想到了使用js代码调用webservice的方法来执行操作。
  • 数据传递对象
[ Serializable ]
public   class   DTO  {...... }
  • WebService代码
    [ WebMethod ]
      public   string   SubmitRecord( string   strrecord)
    {
          DTO  dto =   JSON   .Deserialize< DTO >(strrecord);
        ......
          return   ""   ;
    }
  • 前端页面代码
  var   SubmitRecord =   function   (strrecord) {
        Ext.net.DirectMethod.request({
            url:   "WebService.asmx/SubmitRecord"   ,
            cleanRequest:   true ,
            params: {
                strrecord: strrecord
            },
            success:   function   (result) {
                Ext.Msg.alert(   "提示信息"   , Ext.DomQuery.selectValue( "string" , result,   "" ));
            }
        });
    };
  • 后置页面代码
           DTO  newRecord =   new   DTO () {...... };
          X .Msg.Confirm( "提示信息"   ,   "是否提交记录" ,   new   MessageBoxButtonsConfig
        {
            Yes =   new   MessageBoxButtonConfig
            {
                Handler =   "SubmitRecord(" +   JSON   .Serialize(newRecord) + ");" ,
                Text =   "是"
            },
            No =   new   MessageBoxButtonConfig
            {
                Text =   "否"
            }
        }).Show();

http://www.cnblogs.com/liusuqi/

你可能感兴趣的:(webservice)