【发布时间】:2019-05-12 12:26:05
【问题描述】:
我的控制器中有一个方法,它将一个布尔变量作为可选参数(这应该是可选的,不是强制性的),尽管当我返回视图时它说视图需要一个参数。
我的模型视图将 bool 设置为 true 或 false,以便在发生特定操作时在视图中显示错误消息。
这是我的代码
public ActionResult Index([Optional] bool cameFromModal)
{cameFromModal = false;
if (cameFromModal == true)
{
vm.Error = true; // I set the bool to the model so that I can display an error message on my returned view
}
return View(vm);
}
【问题讨论】:
-
我之前没有在 MVC 控制器方法上使用过
[Optional]属性。当您更改方法签名以使参数可以为空时会发生什么?public ActionResult Index(bool? cameFromModal) -
发布实际错误。
it says that the view expects a parameter.是什么意思?这既不是编译也不是运行时错误。vm是在哪里创建的?请求参数中的Optional属性不会影响视图或控制器代码 -
对于
cameFromModal,您没有指定默认值,因此编译器无法知道要使用什么值。Optional是一个验证属性,它没有指定默认值是什么
标签: asp.net-mvc model-view-controller optional-parameters