2
下面是一个例子,我已经看到了怎么办控制器上的验证:如何ASP.NET MVC通模型视图,而不明确地传递
[HttpPost]
public ViewResult Create(MyModel response)
{
if (ModelState.IsValid)
{
return View("Thanks");
}
else
{
return View();
}
}
如果有验证错误,比返回View()方法被称为没有任何参数。很明显,您的视图和模型中有@ Html.ValidationSummary()具有所有必需的属性属性。
当使用验证摘要呈现视图时,已输入表单的数据被保留并再次显示。
我的问题:数据如何保存?因为它没有传递到视图像
return View(response);
非常感谢。
此致 维拉德
伟大的答案。非常感谢+1。所以从我理解的情况来看,控制器返回与初始绑定模型相同的View,所以没有新的View构造发生。我知道值是绑定到模型状态,我没有得到如何模型状态传回给视图? –
我会看看我是否可以在明天为您发掘一些技术文章,以便提供更多的见解 – Tommy
Modelstate作为每个视图固有的ViewData对象的一部分传递。这就是为什么你可以添加一个模型状态错误,并让它显示在你的视图中,而不显式地发送带有错误信息的对象。 http://www.gxclarke.org/2010/05/consumption-of-data-in-mvc2-views.html – Tommy