一、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> <li data-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 }
写在后面的话:都是一些基本的功能,但是自己总是记不住,每次用每次需要查阅。现在记录下来方便自己进行查看。
原文:https://www.cnblogs.com/jas0203/p/9818457.html