【发布时间】:2010-12-09 17:07:27
【问题描述】:
我使用 viewModels 在我的控制器和我的视图之间进行通信。 为了获得模型验证,我使用这样的部分类:
[MetadataType(typeof(EvaluationValidation))]
public partial class Evaluation
{
public class EvaluationValidation
{
[DisplayName("Title of evaluation")]
[Required( ErrorMessage="Please give a title")]
public string Title { get; set; }
}
}
Displayname 绑定到视图没有问题,但是当我尝试提交视图时,我收到此错误:
传入的模型项 字典是类型 'FOOBAR.Models.Evaluation', 但是这本词典需要一个模型 类型的项目 'FOOBAR.Areas.Evaluation.ViewModels.EvaluationFormViewModel'。
这是我的控制器中使用的代码
[HttpPost]
public ActionResult Create(FormCollection formValues)
{
Models.Evaluation data = new Models.Evaluation();
if (TryUpdateModel(data, "evaluations"))
{
this.daoe.Create(data);
return RedirectToAction("Index");
}
return View(data);
}
这是我的视图模型
public class EvaluationFormViewModel
{
public FOOBAR.Models.Evaluation evaluations;
public SelectList selectlist_evaluationtypes { get; set; }
public SelectList selectlist_evaluationstatus { get; set; }
}
你有想法吗? 提前致谢
【问题讨论】:
-
我是 ASP.NET MVC 的新手,但据我所知,您正在将评估对象而不是 ViewModel 传递到它不期望的视图中(强类型视图?)
标签: c# asp.net entity-framework asp.net-mvc-2