您好我的Controller类中有以下Action方法:
[HttpPost]
public IActionResult MyAction(string foo, Guid? bar)
{
if(!bar.hasValue)
bar = Guid.NewGuid();
var viewModel = new MyViewModel { Foo = foo, Bar = bar };
return ViewComponent("MyDialog", new {model = viewModel});
}
我的视图组件是:
@model MyViewModel
<div>
@Html.HiddenFor(m => m.Bar)
<span>@Model.Bar</span>
</div>
bar
在调用MyAction()
期间有价值,如果bar
为null
则生成的隐藏代码的值未设置为Guid.NewGuid()
}。但是,<span>
标记始终可以显示传递的ViewModel中的正确值。
为什么呢?