您的位置:首页 > Web前端 > JavaScript

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

2013-05-09 11:53 701 查看
概述

ExtNet控件在自定义控件中使用存在很多的问题,由于ResourceManager控件在页面中必须唯一存在,所以自定义控件中无法使用从而导致Ext控件无法使用js句柄调用后置页面中的方法,我也曾尝试使用ajax的方式调用后置页面中的方法但是执行失败,此时我便想到了使用js代码调用webservice的方法来执行操作。

数据传递对象

[align=left][Serializable][/align]
[align=left]public class DTO {......}[/align]
WebService代码

[align=left] [WebMethod][/align]
[align=left] public string SubmitRecord(string strrecord)[/align]
[align=left] {[/align]
[align=left] DTO dto = JSON .Deserialize<DTO>(strrecord);[/align]
[align=left] ......[/align]
[align=left] return "" ;[/align]
[align=left] }[/align]
前端页面代码

[align=left] var SubmitRecord = function (strrecord) {[/align]
[align=left] Ext.net.DirectMethod.request({[/align]
[align=left] url: "WebService.asmx/SubmitRecord" ,[/align]
[align=left] cleanRequest: true,[/align]
[align=left] params: {[/align]
[align=left] strrecord: strrecord[/align]
[align=left] },[/align]
[align=left] success: function (result) {[/align]
[align=left] Ext.Msg.alert( "提示信息" , Ext.DomQuery.selectValue("string", result, ""));[/align]
[align=left] }[/align]
[align=left] });[/align]
[align=left] };[/align]
后置页面代码

[align=left] DTO newRecord = new DTO(){......};[/align]
[align=left] X.Msg.Confirm("提示信息" , "是否提交记录", new MessageBoxButtonsConfig[/align]
[align=left] {[/align]
[align=left] Yes = new MessageBoxButtonConfig[/align]
[align=left] {[/align]
[align=left] Handler = "SubmitRecord("+ JSON .Serialize(newRecord) +");",[/align]
[align=left] Text = "是"[/align]
[align=left] },[/align]
[align=left] No = new MessageBoxButtonConfig[/align]
[align=left] {[/align]
[align=left] Text = "否"[/align]
[align=left] }[/align]
[align=left] }).Show();[/align]
http://www.cnblogs.com/liusuqi/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐