MVC學習筆記(六)---遇到的小問題匯總
阿新 • • 發佈:2018-11-23
== rtti data- 成功 進行 都是 count htm family
一、MVC中Controller中返回兩個對象的寫法如下:
return Json(new { code = 1, msg = "成功", user = user, userInfo = person });
二、前臺向後臺傳入帶有html標簽的字符串,需要在後臺Controller前加入[ValidateInput(false)]
[HttpPost] [ValidateInput(false)] public ActionResult Test(string str) { return Content("test"); }
三、枚舉用法的總結:
工程目錄結構如下:
Enum_Type中的代碼如下:
namespace Common.Enum { public enum Enum_Type { 未發送 = 1, 發送成功 = 2, 發送失敗 = 3 } }
A.在前臺(Index.cshtml)用枚舉
(1)在web項目中添加Common類庫的引用
(2)記得要在Index.cshtml頁面頭部添加引用
@using Common.Enum; <h2>Index</h2> <ul> <lidata-id="@Convert.ToInt32(Enum_Type.未發送)">@Enum_Type.未發送</li> <li data-id="@Convert.ToInt32(Enum_Type.發送成功)">@Enum_Type.發送成功</li> <li data-id="@Convert.ToInt32(Enum_Type.發送成功)">@Enum_Type.發送失敗</li> </ul> <select> <option value="@Convert.ToInt32(Enum_Type.未發送)">@Enum_Type.未發送</option> <option value="@Convert.ToInt32(Enum_Type.發送成功)">@Enum_Type.發送成功</option> <option value="@Convert.ToInt32(Enum_Type.發送成功)">@Enum_Type.發送失敗</option> </select>
效果(樣式我都沒寫,只是想展示下效果)
B.枚舉常用的方法(我每次用每次查,捂臉中)
1 //根據名稱獲取對應的數字,結果為:3 2 int enum_Int =(int) Enum.Parse(typeof(Enum_Type), "發送失敗"); 3 //根據數字獲取名稱,結果為發送失敗 4 string enum_String = Enum.GetName(typeof(Enum_Type), 3); 5 6 //獲取枚舉類型的數字,結果為:3 7 int enumInt = (int)Enum_Type.發送失敗; 8 //獲取枚舉類型的字符串,結果為發送失敗 9 string enumString = Enum_Type.發送失敗.ToString();
四、controller中參數設置為可為空的方法
1 [HttpPost] 2 public ActionResult test(string userName,DateTime? startTime) 3 { 4 DateTime dt = startTime == null ? DateTime.Now : startTime.Value; 5 return Content("成功"); 6 }
使用場景:參數startTime可以傳也可以不傳
五、計算分頁頁數需要用到的方法
1 //總頁數 2 decimal d = (decimal)((decimal)roleList.Count / length); 3 roleList = roleList.OrderBy(r => r.OrderNo).Skip((start - 1) * length).Take(length).ToList(); 4 int pageCount = Convert.ToInt32(Math.Ceiling(d)); 5 result.PageCount = pageCount;
六、webapi
(1)webapi中action的名稱要以Get或者Post開頭,來說明是用的HttpPost還是HttpGet。
(2)參數要通過[FromBody]傳遞,如果直接寫string para,反而接收不到。
1 public string PostLogin([FromBody] PostData data) 2 { 3 return "登錄成功"; 4 }
PostData類裏放需要的參數
1 /// <summary> 2 /// 參數 3 /// </summary> 4 public class PostData 5 { 6 /// <summary> 7 /// 用戶名 8 /// </summary> 9 public string userName { get; set; } 10 11 /// <summary> 12 /// 密碼 13 /// </summary> 14 public string password { get; set; } 15 }
寫在後面的話:都是一些基本的功能,但是自己總是記不住,每次用每次需要查閱。現在記錄下來方便自己進行查看。
MVC學習筆記(六)---遇到的小問題匯總