博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
阅读量:4680 次
发布时间:2019-06-09

本文共 2389 字,大约阅读时间需要 7 分钟。

/*---------------后台必须是静态方法-------------*/ /*---------------前台*-----------------/ $(function() {         $("#btnOK").click(function() {             $.ajax({                 type: "Post",                 url: "demo.aspx/GetStr",                 //方法传参的写法一定要对,str为形参的名字,str2为第二个形参的名字                  data: "{'str':'I am','str2':'XXX'}",                 contentType: "application/json; charset=utf-8",                 dataType: "json",                 success: function(data) {                     //return data                        alert(data.d);                 },                 error: function(err) {                     alert(err);                 }             });             //禁用按钮的提交              return false;         });     });
/*---------------前台*-----------------/
/*---------------后台*-----------------/
[WebMethod]     public static string GetStr(string str, string str2)     {         return str + str2;     }
/*---------------后台*-----------------/
/*---------------后台必须是静态方法-------------*/ /*---------------后台可以是非静态方法-----------*/ /*---------------前台-------------------------*/

$.ajax({

type: "POST",
url: "McuHandler.ashx",
data: { page: 'ActivityEnrolment.aspx', method: 'GetActivityItemById', val: coaInfo },
success: function (msg) {
if ($("#TravelInsuranceValueLabelForInsert")[0] != undefined) {
$("#TravelInsuranceValueLabelForInsert")[0].innerText = msg;
}
if ($("#TravelInsuranceValueLabelForEdit")[0] != undefined){
$("#TravelInsuranceValueLabelForEdit")[0].innerText = msg;
}
}
});

/*---------------前台-------------------------*/
/*---------------后台-------------------------*/ 1.新增一个ashx文件 2.在ProcessRequest方法中调用非静态方法并返回值

public void ProcessRequest(HttpContext context)

{
var val = context.Request.Form["val"];//GET方式提交就用context.Request.QueryString["val"]
var page = context.Request.Form["page"];
var method = context.Request.Form["method"];
var rtnVal = string.Empty;
context.Response.ContentType = "text/plain";
switch (page)
{
case "ActivityEnrolment.aspx":
switch (method)
{
case "GetActivityItemById":
rtnVal = GetActivityItemById(val);
context.Response.Write(rtnVal.ToFormatDecimalText(DecimalPlace.Two, true));
break;
default:
context.Response.Write("");
break;
}
break;
default:
context.Response.Write("");
break;
}

/*---------------后台-------------------------*/
/*---------------后台可以是非静态方法-----------*/

转载于:https://www.cnblogs.com/jake-hl/p/4117600.html

你可能感兴趣的文章
大学四年,你必须做的事---这些计算机科学
查看>>
Neo4j集群环境建设
查看>>
软件測试自学指南---从入门到精通
查看>>
LoadImage()的使用
查看>>
SSL协议具体解释
查看>>
浅谈实际分辨率与逻辑分辨率实现像素与尺寸的准确转换
查看>>
HIVE中内连接和左半连接不一致问题
查看>>
实验11——指针的基础应用
查看>>
Go实现发送解析GET与POST请求
查看>>
Girls Like You--Maroon 5
查看>>
FZU 1343 WERTYU --- 水题
查看>>
angularjs 中使用 service 在controller 之间 share 对象和数据
查看>>
禁止在 .NET Framework 中执行用户代码。启用 "clr enabled" 配置选项
查看>>
JSON、闭包和原型----透视Javascript语言核心
查看>>
[苹果]苹果AppStore应用审核标准
查看>>
lxr看代码的时候出现中文乱码问题
查看>>
CImageList使用指南(转)
查看>>
常量like数据库表中的列
查看>>
VC2012编译CEF3-转
查看>>
Log4net的配置-按照日期+文件大小混合分割
查看>>