如何在ASP.Net MVC视图中预先设置对象类型成员?

时间:2013-05-23 20:39:24

标签: asp.net-mvc-4

以下是我的两个课程:

class Company
{
   public int ID{ get; set; }
   public string CompanyName{ get; set; }
}

public class Division
{
   public int ID{ get; set; }
   public string DivisionName{ get; set; }
   public virtual Company Company { get; set; }
}

我有一个强类型的EDIT视图,分区为EditorFor,ID为HiddenFor

我遇到的问题是当我点击保存时,Controller操作会获取Division对象,其公司属性为NULL。当模型无效并且返回包含该对象的视图时,我无法再使用@Model.Company.CompanyName在视图中提取公司名称。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

如果您未在视图中包含公司数据(作为输入字段),则不会回发任何关于公司的信息。

如果公司仅用于“仅显示”,则在视图中返回模型之前,在帖子中重新填充它。

public ActionResult MyAction(Division model)
{
  // ...

  // Repopulate Company
  model.Company = new Company() { ... };

  return View(model);
}