当前位置:编程学习 > C#/ASP.NET >>

js如何调用asp.net后台的方法

我想通过js调用asp.net的一个方法  public string displayDetail(string name, string subject, string valid, string money, string month, string createPeople, string checkPeople, string createDate, string payDeadLine){},参数是通过js获得的var name = td_list[0].getElementsByTagName("span")[0].innerHTML;
我如何调用后台的函数啊?!! --------------------编程问答-------------------- 通过ajax方式去调用 --------------------编程问答-------------------- 地址 --------------------编程问答--------------------
引用 1 楼 zhujiazhi 的回复:
通过ajax方式去调用
+1 --------------------编程问答-------------------- 如果是本页面后台可以直接onreadystatechange=方法名. --------------------编程问答--------------------
引用 1 楼 zhujiazhi 的回复:
通过ajax方式去调用

具体怎么写啊?
ABC函数可以返回一个string类型的值

$.ajax({
//要用post方式
type: "POST",
//方法所在页面和方法名
url: "AjaxPage.aspx/ABC",
data: "{name:"+name + ",subject=" + subject + ",valid=" + valid + ",money=" + money + ",month=" + month }", //带参数的,参数名称abc,参数“111”
//date:"{}",//没有参数的初始化
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
//返回的数据用data.d获取内容
alert(data);
}
}); 

我这样写对吗? --------------------编程问答-------------------- AjaxPage.aspx 你使用的是.aspx  建议换下换成.ashx(一般处理程序)会比aspx好点(速度快点)。
.aspx页面前台代码 除了第一条删除干净,返回的结果data可打印看看有问题可追问 --------------------编程问答-------------------- 1、用ajax方法调用
2、用ajaxpro这个神奇的dll,具体用法可以度娘一下,只不过用着虽然爽,但是加载会比不用慢些。 --------------------编程问答--------------------
引用 5 楼 binglingwo1987 的回复:
Quote: 引用 1 楼 zhujiazhi 的回复:

通过ajax方式去调用

具体怎么写啊?
ABC函数可以返回一个string类型的值

$.ajax({
//要用post方式
type: "POST",
//方法所在页面和方法名
url: "AjaxPage.aspx/ABC",
data: "{name:"+name + ",subject=" + subject + ",valid=" + valid + ",money=" + money + ",month=" + month }", //带参数的,参数名称abc,参数“111”
//date:"{}",//没有参数的初始化
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
//返回的数据用data.d获取内容
alert(data);
}
}); 

我这样写对吗?


前台

$.ajax({
type: "POST",
url: "AjaxPage.aspx",
data: {abc: "111", method: "ABC"},
success: function(data) {

}
});

后台AjaxPage.aspx.cs
protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                string method = Request.Form["method"];
                if (method == "ABC")
                {
                    ABC(Request.Form["abc"]);
                }
            }
        }

        private void ABC(string abc)
        {
            //do something what you want
        } --------------------编程问答--------------------
引用 5 楼 binglingwo1987 的回复:
Quote: 引用 1 楼 zhujiazhi 的回复:

通过ajax方式去调用

具体怎么写啊?
ABC函数可以返回一个string类型的值

$.ajax({
//要用post方式
type: "POST",
//方法所在页面和方法名
url: "AjaxPage.aspx/ABC",
data: "{name:"+name + ",subject=" + subject + ",valid=" + valid + ",money=" + money + ",month=" + month }", //带参数的,参数名称abc,参数“111”
//date:"{}",//没有参数的初始化
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
//返回的数据用data.d获取内容
alert(data);
}
}); 

我这样写对吗?

调用的url错了。
应该是你的地址加上方法名 --------------------编程问答-------------------- 如果你的页面习惯用微软服务器控件开发,那么有一个组件:ScriptManager
这时候后台定义一个静态公用方法。前端就可以用PageMethods.FunctionName(arg,function(){

},function(){

})
如果你抛弃上那种做法。那么你还是传统做法ajax.Post|Get(url,function(){

}) --------------------编程问答--------------------
引用 9 楼 lonelypig1 的回复:
Quote: 引用 5 楼 binglingwo1987 的回复:

Quote: 引用 1 楼 zhujiazhi 的回复:

通过ajax方式去调用

具体怎么写啊?
ABC函数可以返回一个string类型的值

$.ajax({
//要用post方式
type: "POST",
//方法所在页面和方法名
url: "AjaxPage.aspx/ABC",
data: "{name:"+name + ",subject=" + subject + ",valid=" + valid + ",money=" + money + ",month=" + month }", //带参数的,参数名称abc,参数“111”
//date:"{}",//没有参数的初始化
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
//返回的数据用data.d获取内容
alert(data);
}
}); 

我这样写对吗?

调用的url错了。
应该是你的地址加上方法名

我写的是自己的方法名和地址…… --------------------编程问答-------------------- ajax jason --------------------编程问答--------------------
引用 8 楼 zhujiazhi 的回复:
Quote: 引用 5 楼 binglingwo1987 的回复:

Quote: 引用 1 楼 zhujiazhi 的回复:

通过ajax方式去调用

具体怎么写啊?
ABC函数可以返回一个string类型的值

$.ajax({
//要用post方式
type: "POST",
//方法所在页面和方法名
url: "AjaxPage.aspx/ABC",
data: "{name:"+name + ",subject=" + subject + ",valid=" + valid + ",money=" + money + ",month=" + month }", //带参数的,参数名称abc,参数“111”
//date:"{}",//没有参数的初始化
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
//返回的数据用data.d获取内容
alert(data);
}
}); 

我这样写对吗?


前台

$.ajax({
type: "POST",
url: "AjaxPage.aspx",
data: {abc: "111", method: "ABC"},
success: function(data) {

}
});

后台AjaxPage.aspx.cs
protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                string method = Request.Form["method"];
                if (method == "ABC")
                {
                    ABC(Request.Form["abc"]);
                }
            }
        }

        private void ABC(string abc)
        {
            //do something what you want
        }

ABC函数可以有返回值吗?如果有返回值如何用啊?还有在ABC函数中对某个textBox或者Label中的数据进行修改可以吗?比如Label1.text = "你好"; --------------------编程问答-------------------- 在ABC方法不可以直接textBox或者Label中的数据,只能向Response中写入数据,前台接收到后用js去修改某个控件里面的值的

--------------------编程问答--------------------
引用 14 楼 zhujiazhi 的回复:
在ABC方法不可以直接textBox或者Label中的数据,只能向Response中写入数据,前台接收到后用js去修改某个控件里面的值的

好吧……那可不可以将整个html的值直接换了啊?因为我发现data返回的值就是整个改变后的html……
比如有没有类似于document.innerHTML = "";的形式的啊? --------------------编程问答-------------------- 最好不要,
返回的值是可以任意控制的,想让返回什么都返回什么的,正常都会返回json类型的,前台拿到返回的数据,只改需要变动的地方,
--------------------编程问答-------------------- 最好是Ajax 当然也可以<%=Method()%>
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,