MVC索引方法改为viewmodel

时间:2015-06-01 02:08:59

标签: asp.net-mvc model-binding

当我们需要在将模型传递给视图之前对模型进行更改时,我想知道在MVC中编写索引方法的最佳方法。

我从某个地方选择了一种技术,你可以传入你打算传递给你视图的模型,并对其进行更改,但我们注意到模型绑定在传递给索引方法时启动,并且验证会触发,当没有必要时,因为它是初始负载。

例如,哪个更正确:

public ActionResult Index(ViewModel model)
{
    model.SomeProperty = "MyNewValue";

    return base.Index(model);
}

OR

public ActionResult Index()
{
    ViewModel model = new ViewModel();

    model.SomeProperty = "MyNewValue";

    return base.Index(model);
}    

有什么我应该知道使用其中任何一个的含义吗?

1 个答案:

答案 0 :(得分:0)

对于初始载荷,后者更有意义。 MVC中的控制器每次使用时都会被新建。没有任何持久性。使用第一个选项,HTTP请求需要一些预先存在的API知识。因此,建议让视图模型来自持久层。

INFO:root:Started
INFO:root:Doing something
INFO:root:Finished