Controller傳值到前端頁面的幾種方式


一丶追加字符串傳值

 1  #region 02-追加字符串傳值
 2         /// <summary>
 3         ///  02-追加字符串傳值
 4         /// </summary>
 5         /// <returns></returns>
 6         public ActionResult Val()
 7         {   //生成3個隨機數
 8             Random rd = new Random();
 9             var a = rd.Next(1, 1000);
10             var b = rd.Next(10, 1000);
11             var c = rd.Next(100, 1000);
12             //進行字符串追加
13             var msg1 = a.ToString() + "," + b.ToString() + "," + c.ToString();
14 
15             return Content(msg1);
16         } 
追加字符串傳值

二丶通過JSON傳值

 1 public ActionResult Val1()
 2         {   //生成3個隨機數
 3             Random rd = new Random();
 4             var a = rd.Next(1, 1000);
 5             var b = rd.Next(10, 1000);
 6             var c = rd.Next(100, 1000);
 7             //申明一個匿名類
 8             var msg = new
 9             {
10                 a1 = a,
11                 a2 = b,
12                 a3 = c,
13             };
14             return Json(msg);
15         } 
通過JSON傳值

三丶序列化傳值:將對象轉化為Json字符串

 1 public ActionResult Val2()
 2         {
 3             Random rd = new Random();
 4             var a = rd.Next(1, 1000);
 5             var b = rd.Next(10, 1000);
 6             var c = rd.Next(100, 1000);
 7 
 8             var msg = new
 9             {
10                 a1 = a,
11                 a2 = b,
12                 a3 = c,
13             };
14             JavaScriptSerializer js = new JavaScriptSerializer();
15 
16             return Content(js.Serialize(msg));
17         } 
序列化傳值

四丶反序列化:將json字符串轉化為對象

 1 public ActionResult Val3()
 2         {
 3             Random rd = new Random();
 4             var a = rd.Next(1, 1000);
 5             var b = rd.Next(10, 1000);
 6             var c = rd.Next(100, 1000);
 7 
 8             var msg = new Number
 9             {
10                 num1 = a,
11                 num2 = b,
12                 num3 = c
13             };
14             //進行序列化申明
15             JavaScriptSerializer js = new JavaScriptSerializer();
16 
17             ////將json字符串轉化為Number類型
18             //Number number = js.Deserialize<Number>(js.Serialize(msg));
19 
20             //return Json(new { a=number.num1,b=number.num2,c=number.num3}, "text/json");
21 
22             string json = js.Serialize(msg); //序列化成JSON字符串
23 
24             Number number = js.Deserialize<Number>(json);//再反序列化為Number對象
25 
26             return Json(new { a = number.num1, b = number.num2, c = number.num3 }, "text/json");//返回對象
27 
28         } 
反序列化
JsonConvert.DeserializeObject<Model>(data);
 1 Dictionary<string, string> jsonaa = JsonConvert.DeserializeObject<Dictionary<string, string>>(queryJson);
 2                 foreach (var item in jsonqq)
 3                 {
 4                     if (!item.Value.IsEmpty())
 5                     {
 6                         if (item.Key == "keyword")
 7                         {
 8                                var key=item.Key ;
 9                                var value=item.Value;
10                         }
11 
12                      } 
13                 }                                            
View Code

 

五丶將給定對象轉換為指定類型

 1  public ActionResult Val4()
 2         {
 3             //生成3個隨機數
 4             Random rd = new Random();
 5             var a = rd.Next(1, 1000);
 6             var b = rd.Next(10, 1000);
 7             var c = rd.Next(100, 1000);
 8             JavaScriptSerializer js = new JavaScriptSerializer();
 9             //聲明非匿名類
10             var msg = new Number
11             {
12                 num1 = a,
13                 num2 = b,
14                 num3 = c
15             };
16             string json = js.Serialize(msg); //序列化成JSON字符串
17             object obj = js.DeserializeObject(json);//將Json字符轉換為Object類型
18             Number number = js.ConvertToType<Number>(obj);//轉化為指定對象類型
19             return Json(new { a = number.num1, b = number.num2, c = number.num3 }, "text/json");//返回對象
20         } 
將給定對象轉換為指定類型

 

js詳情:

 1  <script type="text/javascript">
 2         $(function () {
 3             //(1)一般方式獲取數據
 4             //$.post("/Test/Val", function (data) {
 5             //    var array = data.split(",");
 6             //    for (var i = 0; i < array.length; i++) {
 7             //        alert(array[i]);
 8             //    }
 9             //});
10 
11             //(2)返回Json獲取數據
12             //$.post("/Test/Val1", function (data) {
13 
14             //    alert(data.a1);
15             //    alert(data.a2);
16             //    alert(data.a3);
17             //});
18 
19 
20             //(3)通過序列化獲取數據
21             //$.post("/Test/Val2", function (data) {
22             //    var array = JSON.parse(data);
23             //    alert("a1的值為:" + array.a1);
24             //    alert("a2的值為:" + array.a2);
25             //    alert("a3的值為:" + array.a3);
26             //});
27 
28             //(4)通過反序列化獲取數據
29             //$.post("/Test/Val3", function (data) {
30 
31             //    alert("a的值為:" + data.a);
32             //    alert("b的值為:" + data.b);
33             //    alert("c的值為:" + data.c);
34             //});
35 
36             //(5)ConvertToType<(Of <(T>)>) 將給定對象轉換為指定類型
37             $.post("/Test/Val4", function (data) {
38 
39                 alert("a的值為:" + data.a);
40                 alert("b的值為:" + data.b);
41                 alert("c的值為:" + data.c);
42             });
43 
44         });
45     </script>

 

JSON.parse() 方法用於將一個 JSON 字符串轉換為對象。

JSON.stringify(param) 方法用於將一個對象序列化為一個json字符串

 

頁面傳值在控制器接收:

 var a = HttpContext.Current.Request["name"];
 var b = HttpContext.Current.Request.QueryString["password"];
1         //不用任何參數,直接用HttpContext接收
2         [HttpPost]
3         public string MethodDemo()
4         {
5             var test1 = HttpContext.Current.Request["test1"];
6             var test2 = HttpContext.Current.Request.Form["test2"];
7             return ""+test1+","+test2;
8         } 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM