ViewModel类是否必须具有显式构造函数?
我的ViewModels包含域数据和一些查找数据,如下所示:
namespace MvcMultiList.ViewModels
{
public class PersonVM
{
public Person Person { get; set; }
public MultiSelectList MultiSelectList { get; set; }
}
}
如果没有明确的ctors,模型绑定是否仍然有效?
答案 0 :(得分:3)
不,默认无参数就好了。
您可以使用对象初始值设定项填充它:
return View(new MyViewModel
{
Property = 'value'
});
编辑:
如果没有明确的ctors,模型绑定是否仍然有效?
是 - 默认模型绑定无论如何都使用无参数构造函数。
如果你没有为类声明任何构造函数,即。 class Foo { }
C#编译器将为您class Foo { public Foo(){} }
生成一个默认值。
答案 1 :(得分:0)
如果您使用的是标准模型绑定功能,则视图模型上必须有无参数构造函数,您也可以使用其他构造函数重载。