Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如果`ModelState.IsValid==false`,我们应该返回`View()`或`View(movie)`?_Asp.net Mvc - Fatal编程技术网

Asp.net mvc 如果`ModelState.IsValid==false`,我们应该返回`View()`或`View(movie)`?

Asp.net mvc 如果`ModelState.IsValid==false`,我们应该返回`View()`或`View(movie)`?,asp.net-mvc,Asp.net Mvc,如果ModelState.IsValid==false,我们应该返回View()或View(movie) 或 ?取决于是否要清除表单 返回模型会将用户输入的值放回表单中,其中返回视图()将在回发时显示一个空表单。取决于是否清除表单 返回模型会将用户输入的值放回表单中,其中Returning view()会在回发时显示一个空表单。验证失败时始终返回相同的模型(return view(movie);)验证失败时始终返回相同的模型(return view(movie);)我喜欢做的是: [HttpPo

如果
ModelState.IsValid==false
,我们应该返回
View()
View(movie)


取决于是否要清除表单


返回模型会将用户输入的值放回表单中,其中返回视图()将在回发时显示一个空表单。

取决于是否清除表单


返回模型会将用户输入的值放回表单中,其中Returning view()会在回发时显示一个空表单。

验证失败时始终返回相同的模型(return view(movie);)

验证失败时始终返回相同的模型(return view(movie);)

我喜欢做的是:

[HttpPost]
public ActionResult Create(Movie movie)
{
   this.ViewData.Model = movie;
...
这样我就可以返回
View()
,而不用担心将模型作为参数传递。可能有多种情况需要返回视图,例如,try/catch around SaveChanges()。这也使您有机会处理
OnException
方法上的错误,并在不丢失模型的情况下返回视图。

我喜欢做的是:

[HttpPost]
public ActionResult Create(Movie movie)
{
   this.ViewData.Model = movie;
...

这样我就可以返回
View()
,而不用担心将模型作为参数传递。可能有多种情况需要返回视图,例如,try/catch around SaveChanges()。这也使您有机会处理
OnException
方法上的错误,并在不丢失模型的情况下返回视图。

为什么要发回?“返回视图()将显示空表单或回发。”这是错误的,已发布的值保留在
ModelState
中,您不需要模型来保持表单的状态。不传递模型也不能清除表单,您必须清除
ModelState
。这可以解释一些事情。为什么要发回?“返回视图()将显示空表单或回发。”这是错误的,已发布的值保留在
ModelState
中,您不需要模型来保持表单的状态。不传递模型也不能清除表单,你必须清除
ModelState
。有趣的是,这可以解释一些事情。我不同意这一点,我也同意Michael的观点-这取决于业务逻辑-没有正确或错误的方法。如果你不想返回字段(比如密码或验证码文本框),您设置model.password=null ect。。您不需要创建模型的新实例的开销。我不同意这一点,我也同意Michael的观点-这取决于业务逻辑-没有正确或错误的方法。如果您不想返回字段(比如密码或验证码文本框),请设置model.password=null等。。您不需要创建模型的新实例的开销。
[HttpPost]
public ActionResult Create(Movie movie)
{
   this.ViewData.Model = movie;
...