【Asp.net】使用Ajax和Jquery在前台向后台传参数并返 - 商讯 - 正定县枫林商贸有限公司
现在的位置: 主页 > 商讯 > 文章正文
【Asp.net】使用Ajax和Jquery在前台向后台传参数并返
作者:正定县枫林商贸有限公司 来源:www.hbflsm.com 发布时间:2017-09-08 21:59:14
【Asp.net】使用Ajax和Jquery在前台向后台传参数并返回值的实例

以前在做项目的时候遇到asp.net前后台通过AJAX传递数据,当时做完了,自己一直没有总结,虽说上手快,但是还是要总结一下,以供以后的学习,思考。

二、要点分析

asp.net的前台可以通过按F7进入后台,但是要想通过AJAX在后台捕获AJAX传过来的参数的时候就要添加[WebMethod] ,才可以。不过可以在asp.net捕获AJAX使用很多的是用“一般处理程序”来完成。具体操作看下文。

三、使用方案

在这里小编给出两种方案来实现数据的传递:

方案一 直接调用后台

前台:

<%--引入JQuery--%> <script src=http://www.2cto.com/kf/201701/"js/jquery-2.1.1.min.js"></script> <%--向后台利用AJAX传递参数,调用后台参数--%> <script type="text/javascript"> $(function () { <%--当txtUserName失去焦点的时候触发--%> $('#txtUserName').blur(function () { var username = $(this).val(); $.ajax({ type: "post", contentType: "application/json",//传值的方式 url: "index.aspx/GetValueAjax",//WebAjaxForMe.aspx为目标文件,GetValueAjax为目标文件中的方法 data: "{username:'" + username + "'}",//username 为想问后台传的参数(这里的参数可有可无) success: function (result) { alert(result.d);//result.d为后台返回的参数 } }) }) }) </script> <input id="txtUserName" type="text" />

后台:一定要添加[WebMethod]

[WebMethod]//方法前边必须添加 [WebMethod] public static string GetValueAjax(string username)//这个方法需要是静态的方法要用到关键字static { //在这里可以对传进来的参数进行任何操作 return username; } 方案二 一般处理程序

创建一般处理程序ajaxtest.ashx后,完成如下操作:

前台:

<%--引入JQuery--%> <script src=http://www.2cto.com/kf/201701/"js/jquery-2.1.1.min.js"></script> <%--使用AJAX向一般处理程序传递参数,调用函数--%> <script type="text/javascript"> $(function () { <%--当txtYiBan失去焦点的时候触发--%> $('#txtYiBan').blur(function () { var username = $(this).val(); $.ajax({ type: "GET", url: "ajaxtest.ashx?json=" + username,//ajaxtest.ashx为目标文件 dataType: "text", success: function (result) { alert(result.d);//result.d为后台返回的参数 } }) }) }) </script> <input id="txtYiBan" type="text" />

ajaxtest.ashx 一般处理程序:

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; using System.Web.SessionState; namespace aspAjaxTest { /// <summary> /// ajaxtest 的摘要说明 /// </summary> [WebService(Namespace = "")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class ajaxtest : IHttpHandler { HttpContext Context; /// <summary> /// 获取传的值,并调用其他的方法 /// </summary> ///<cke:param name="context"></cke:param> public void ProcessRequest(HttpContext context) { Context = context; context.Response.Clear(); context.Response.ContentType = "text/html; charset=utf-8"; //获取传来的值 string methodName = GetQueryString("json"); //可以调用其他方法------看下文 } /// <summary> /// 获取传的值 /// </summary> ///<cke:param name="name"></cke:param> /// <returns></returns> string GetQueryString(string name) { //获取传的值 return Context.Request.Params[name]; } public bool IsReusable { get { return false; } } } }

可以调用的方法:

private string GetJsonStr(string methodName, string session, string strname, string Userid, string strWhere) { string jsonString = ""; switch (methodName) { case "GetWorksContent": //调用分页的效果 jsonString = new JCZB.YMGJ.Web.Web.WebManager.home.AddHistory().GetRMContent(session); //jsonString = "1"; break; case "GetWorkssetContent": //调用分页的效果 jsonString = new JCZB.YMGJ.Web.Web.WebManager.home.worksset().GetRMContent(session,strname,Userid); break; case "GetWorkContent": //调用分页的效果 jsonString = new JCZB.YMGJ.Web.Web.WebManager.home.works().GetRMContent(session, strWhere); break; case "GetWorkssetByTimeContent": //调用分页的效果 jsonString = new JCZB.YMGJ.Web.Web.WebManager.home.workssetByTime().GetRMContent(session, strname, Userid); break; case "GetWorkssetByPositionContent": //调用分页的效果 jsonString = new JCZB.YMGJ.Web.Web.WebManager.home.workssetByPosition().GetRMContent(session, strname, Userid); break; case "GetWorkssetByArtistidContent": //调用分页的效果 jsonString = new JCZB.YMGJ.Web.Web.WebManager.home.workssetByArtistid().GetRMContent(session, strname, Userid); break; } return jsonString; } 四、学到什么 在aspx的后台可以用如下的方式来捕获参数: workstateValue = Request.QueryString["workstateValue"]; 在一般处理程序中可以用: return Context.Request.Params[name];

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:荆门SEO http://jingmen.raoyu.net


  • 上一篇:四大组件之Activity小结
  • 下一篇:最后一页
  • 
    COPYRIGHT © 2015 正定县枫林商贸有限公司 ALL RIGHTS RESERVED.
    本站所有原创信息,未经许可请勿任意转载或复制使用 网站地图 技术支持:肥猫科技
    精彩专题:网站建设
    购买本站友情链接、项目合作请联系客服QQ:2500-38-100