为什么action参数不能与动作同名?

时间:2011-12-22 17:01:07

标签: asp.net-mvc-3

说,我有一个动作

public ActionResult Details(MyModel details)

在这种情况下,细节将始终为null,因为名称与方法名称匹配。将其重命名为其他东西 - 它工作正常。 对我来说,这些是两个独立的东西 - 一个是网址,另一个是POST数据。 有谁看过MS解释这个?

2 个答案:

答案 0 :(得分:6)

它不是null,因为该操作被称为Details。它为null,因为MyModel类中有一个名为Details的属性。因此,默认模型绑定器不知道您是否要直接指定DetailsMyModel的{​​{1}}属性。因此,要么重命名动作参数名称,要么重命名模型类中的Details属性的名称。

答案 1 :(得分:0)

它与MVC的约定优于配置有关。 这会产生一些限制。