netcore 對 Action 方法進行模型綁定參數注意的細節


netcore 對 Action 方法進行模型綁定參數注意的細節:
1.mvc控制器。一般繼承的是 Controller (Controller 里面包含視圖), 對 action 方法參數 模型綁定的時候,參數的推斷來源默認是 從表單中獲取 相當於默認有 [FromFrom] 這個特性加在參數旁邊
 
2.webapi,繼承 ControllerBase(里面沒有關於視圖的方法), webapi 一般加個特性 [ApiController] ,如果加了這個特性,對 action 方法參數 模型綁定的時候,參數的推斷來源默認是 從主體中獲取 相當於默認有 [FromBody] 這個特性加在參數旁邊
 
使用Content-Type: application/x-www-form-urlencoded; charset=UTF-8 來編碼

 

 使用 Content-Type: application/json 來編碼

 

 

 1 /// <summary>
 2 /// 多參數獲取,數據通過json序列化后都在RequestPayload中,實體參數與普通參整成一個
 3 /// </summary>
 4 /// <param name="jData"></param>
 5 /// <returns></returns>
 6  [HttpPost]
 7  [Route("/get/kj")]
 8  public IActionResult io([FromBody]Newtonsoft.Json.Linq.JObject jData)
 9  {
10             // function ee() {
11             //     var model = { a: 1, b: 2,c: 4,};
12             //     var arr = [{ "a": 1, "b": 1, "c": 2, "c" : 3 }];15             //     var khg =
16             //     {
17             //            k: arr,   //直接數組不可以的,后端用 Jobject接受到了,序列化會導致報錯
18             //            //k: model,  //直接寫json對象是可以的
19             //            yy: 34,
20             //            bb: "好呀",
21             //     };23             //        $.ajax({
24             //            type: "post",
25             //            url: "/get/kj",
26             //            data: JSON.stringify(khg),
27             //            contentType: "application/json;charset=utf-8"
28             //        });
29             //  }
30             //dynamic json = jData;
31             //Newtonsoft.Json.Linq.JObject jUser = json.k;
32             //KJ kmmm = jUser.ToObject<KJ>();
33             //int yy = json.yy;
34             //string bb = json.bb;
35 36    return Json("OK");
37 }
38

 

 

 


免責聲明!

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



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