如何在我的GET操作方法中使用viewmodel属性而不在MVC中的POST操作方法中填充它?

时间:2012-05-09 09:01:05

标签: asp.net-mvc asp.net-mvc-3 viewmodel

我在GET操作方法中有这两行:

var model = new CreateNKIphase1ViewModel();
model.SubjectTypeName = goalcard.SubjectType.Name;

我这样做并在我的视图中将它用于IF语句。这就是为什么我有这个ViewModel属性。 我不想在我的POST动作方法中填充我的Model.SubjectTypeName。但是当我调试并尝试发布我的表单时,我得到了以下错误,并且它指向了我对模型.SubjecTypeName的if语句。

对象引用未设置为对象的实例。

赞赏任何类型的解决方案。

提前致谢

2 个答案:

答案 0 :(得分:1)

之前我遇到过这个问题,我通过重定向到我的帖子操作中的另一个视图来解决它。 将Post重定向到另一个视图。

答案 1 :(得分:0)

一种优雅的方法是从绑定中忽略此属性。如下面的Post动作方法

[HttpPost]
public ActionResult Save([Bind(Exclude= "SubjectTypeName")] CreateNKIphase1ViewModel model)
{
 ....
}