首页 > Web开发 > 详细

MVC学习笔记(六)---遇到的小问题汇总

时间:2018-11-23 19:26:11      阅读:152      评论:0      收藏:0      [点我收藏+]

一、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         }

   写在后面的话:都是一些基本的功能,但是自己总是记不住,每次用每次需要查阅。现在记录下来方便自己进行查看。

 

 

 

 

 

 

   

MVC学习笔记(六)---遇到的小问题汇总

原文:https://www.cnblogs.com/jas0203/p/9818457.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!