zony.me

一个由于 Action 传入参数引发的 BUG

眼看要到测试节点了,做好的东西前台使用post传参后台却接收不到参数,十分捉急。 控制器代码:

C#
[HttpPost]
public ActionResult BussinessAllAnalyze(ExtStatisticService.FrontIncomingFilterModel state)
{
       return Content(state.state.ToString());
}

然后我们来看一下参数实体的代码:

C#
public class FrontIncomingFilterModel
{
       public int state { get; set; }
       public DateTime? StartTime { get; set; }
       public DateTime? EndTime { get; set; }
}

是不是看上去没有任何问题,当你使用fiddler或者postman等进行调用的时候,会抛出null异常,因为在Action方法BussinessAllAnalyze当中state实体没有被接收到。 只要将形参名称改为其他的就能够正常接收

C#
[HttpPost]
public ActionResult BussinessAllAnalyze(ExtStatisticService.FrontIncomingFilterModel model)
{
       return Content(state.state.ToString());
}

这个问题暂时还不清楚是由于什么原因引起的。

未完待续….

一个由于 Action 传入参数引发的 BUG
作者 Zony · 发布于 2017-01-15
Licensed under CC BY-NC-SA 4.0
← 上一篇MySql 允许远程用户登录访问下一篇 →C# 值与引用类型的误区
目录