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

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

1
2
3
4
5
[HttpPost]
public ActionResult BussinessAllAnalyze(ExtStatisticService.FrontIncomingFilterModel state)
{
       return Content(state.state.ToString());
}

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

1
2
3
4
5
6
public class FrontIncomingFilterModel
{
       public int state { get; set; }
       public DateTime? StartTime { get; set; }
       public DateTime? EndTime { get; set; }
}

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

1
2
3
4
5
[HttpPost]
public ActionResult BussinessAllAnalyze(ExtStatisticService.FrontIncomingFilterModel model)
{
       return Content(state.state.ToString());
}

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

未完待续….

Built with Hugo
主题 StackJimmy 设计