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

ASP.NET中能不能$.ajax 来调用后台方法,如果能请给出详细例子,谢谢啊

如题所示!请大侠们给出demo,谢谢! asp.net ajax --------------------编程问答-------------------- asp.net只能在服务器端工作,它顶多是注册字符串作为html/javascript贴出去。

你如果要学习ajax编程,请学习好javascript。 --------------------编程问答-------------------- 至于说什么“后台方法”之类的,那需要你有具体的code示意。因为许多人会胡乱晕一个“方法”出来。

我告诉你ajax调用任何轻量级asp.net的组件ashx,你了解这可以调用你所谓的任意“方法”吗? --------------------编程问答-------------------- 这个不知道.. 等待。。 --------------------编程问答-------------------- 可以,需要源码吗? --------------------编程问答-------------------- 可以调用webservice, webapi等。 --------------------编程问答-------------------- 还可以调用Page Method.

参考:
Using jQuery to directly call ASP.NET AJAX page methods
http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/ --------------------编程问答-------------------- ajax可以调用asp.net的后台服务程序 --------------------编程问答-------------------- 前端:
function blur_EditRoleName() {
$.post("CheckRoleName.ashx", { RoleName: $("#EditRoleName").val() },
                function (response) {
                    if (response == "false") {
                        $("#notice_RoleName").show();
                        $("#notice_RoleName span").attr("class", "tips_wrong");
                        $("#notice_RoleName b").html("您输入的角色名已存在!");
                        $("#EditRoleName").attr({ "class": "error" });
                        return false;
                    }
                });
}

后台:
string account = context.Request["Account"].ToLower();
            BLL.UserBll bll_UserBll = new BLL.UserBll();
            DataSet ds = bll_UserBll.GetDataSetUser("UserAccount=@account");
            if (ds.Tables[0].Rows.Count > 0)
            {
                context.Response.Write("false");
            }
            else
            {
                context.Response.Write("true");
            }

当然也可以是aspx文件中的  函数 --------------------编程问答-------------------- 先谢谢大家的回复,4楼问要源代码吗,我当然需要啊,6楼的朋友链接的网站是英文版的,恕小弟无才,8楼的看不懂啊。咋办呢? --------------------编程问答-------------------- Refer:
http://www.cnblogs.com/insus/archive/2013/01/22/2872329.html

--------------------编程问答--------------------
$.ajax({
       url: "demo.aspx",  // 正规点应该是传到ashx的,现在这样写会进入demo页面后台
       type: "get",
       dataType: "html",  //传到服务的的格式
       cache: false,
       data: "method=getName", 
       success: function (data) {
           //返回成功执行代码
       }
}

//后台在Page_Load方法中
 protected void Page_Load(object sender, EventArgs e)
 {                       
            string method = Request["method"];
            if (!string.IsNullOrEmpty(method))
            {
                result = GetName();//GetName()是后台的一个方法,需要有返回值传入进页面
            }
            Response.Write(result);
 }
--------------------编程问答--------------------
引用 11 楼 weekdaylove 的回复:
$.ajax({
       url: "demo.aspx",  // 正规点应该是传到ashx的,现在这样写会进入demo页面后台
       type: "get",
       dataType: "html",  //传到服务的的格式
       cache: false,
       data: "method=getName", 
       success: function (data) {
           //返回成功执行代码
       }
}

//后台在Page_Load方法中
 protected void Page_Load(object sender, EventArgs e)
 {                       
            string method = Request["method"];
            if (!string.IsNullOrEmpty(method))
            {
                result = GetName();//GetName()是后台的一个方法,需要有返回值传入进页面
            }
            Response.Write(result);
 }


dataType这里说错了,应该是返回的数据类型,默认是text,可以写json,html等 --------------------编程问答-------------------- 话说我从来没见过AJAX调用过客户端方法... --------------------编程问答-------------------- 请先把问题说清楚再。。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,