Asp.net常见提交方式

提交不过两大类,表达提交与ajax提交


一:表单提交

     html

[html]  view plain  copy
  1. <form action="TestWebspx.aspx"  method="post">  
  2.         <input  type="text" name="username"/>  
  3.         <input  type="submit" value="submit"/>  
  4.     </form>  
     后台获取提交的数据并返回前台

[csharp]  view plain  copy
  1. public partial class TestWebspx : System.Web.UI.Page  
  2.     {  
  3.         protected void Page_Load(object sender, EventArgs e)  
  4.         {  
  5.             string username = Request["username"];  
  6.             Response.Write("your input:" + username);  
  7.         }  
  8.     }  

二:Ajax处理


    方法一:

       前端

[javascript]  view plain  copy
  1. var kmtcb = {}  
  2.   
  3.        kmtcb.search = function ()  
  4.        {  
  5.            var qyport = $("#qyport").val();  
  6.            var carrier = $("#carrier").val();  
  7.            var number = $("#number").val();  
  8.   
  9.   
  10.            $.ajax({  
  11.                url: "get_b.aspx?act=Search",  
  12.                type: "post",  
  13.                data: { qyport: qyport, carrier: carrier,number:number},  
  14.                success: function (result) {  
  15.                    var dataObj = eval("(" + result + ")");//转化成json对象  
  16.                    alert(dataObj.Carrier);  
  17.                    alert(dataObj.Qyport);  
  18.                    alert(dataObj.Number);  
  19.                },  
  20.                error: function (result)  
  21.                {  
  22.                    console.log(result);  
  23.                    alert(result);  
  24.                }  
  25.            })  
  26.        }  
       后端

   

[csharp]  view plain  copy
  1. public void Search()   
  2.     {  
  3.           
  4.   
  5.         string qyport = Request["qyport"];  
  6.         string carrier = Request["carrier"];  
  7.         string number = Request["number"];  
  8.   
  9.         T t = new T();  
  10.         t.Carrier = "1234";  
  11.         t.Qyport = "aaaa";  
  12.         t.Number = "yunjia001";  
  13.         string jsonstr = JsonConvert.SerializeObject(t);  
  14.   
  15.         Response.Clear();  
  16.         Response.Write(jsonstr);  
  17.         Response.End();  
  18.     }  



    方法二:

[javascript]  view plain  copy
  1. $(function () {  
  2.   
  3.            $.ajax({  
  4.                type: "post",  
  5.                url: "TestWebspx.aspx/TestJson",  
  6.                contentType: "application/json;charset=utf-8",  
  7.                data: "{'msg':'hello'}",// data: { key: '123', type: 'S' }  
  8.                dataType: "json",  
  9.                success: function (result)  
  10.                {  
  11.                    var dataObj = eval("(" + result.d + ")");  
  12.                    alert(dataObj.msg);  
  13.                }  
  14.            });  
  15.        })  
      这里是因为微软框架默认返回一个  { "d": "后台返回的数据" } 的数据

   所以取我们自己返回的json对象时需要用result.d而且需要eval传化成json对象,或者使用jquery的 $.parseJSON("str");

     后台    

[csharp]  view plain  copy
  1. [WebMethod]  
  2.         public static string TestJson(string msg)   
  3.         {  
  4.             return "{msg:123}";  
  5.         }  
 后台方法一定要是静态的且必须加上[WebMethod]特性否者抛出异常

  

       

   此时post请求没有问题,但如果需要修改成get方式就会出现

  

  只需要加后台方法上加上[ScriptMethod(UseHttpGet = true)]特性

[csharp]  view plain  copy
  1. [WebMethod]  
  2.        [ScriptMethod(UseHttpGet = true)]  
  3.        public static string TestJson(string msg)   
  4.        {  
  5.            return "{msg:123}";  
  6.        }  

http://www.cnblogs.com/acles/articles/2385648.html

原博客地址:https://blog.csdn.net/aojiancc2/article/details/19075337

猜你喜欢

转载自blog.csdn.net/weixin_39550799/article/details/79861717