我对ASP.Net MVC有点新,我有一个复杂的模型。在主视图中创建复杂模型的多个部分
public class BuildingPermit
{
public int ApplicationID { get; set; }
public virtual Person Applicant { get; set; }
public virtual Area ApplicantArea { get; set; }
public virtual ICollection<Owner> Owners { get; set; }
/...
}
使用脚手架,我创建了控制器和所有视图。但是,我想在同一页面中注册所有详细信息,即在BuildingPermit
的Create
视图中创建Applicant
类型的细节Person
,ApplicationArea
类型Area
等。有什么办法可以做到这一点?
如果这是不可能的,我认为可以添加一个链接来创建对象。当用户点击它时,页面会转到该视图,创建它,获取其信息并在BuildingPermit
的视图中显示它。
我很感谢您的帮助。
令人惊叹。我是否可以复制Person的“编辑”或“创建”模板等等到“EditorTemplates”文件夹?如果是这样,我应该复制哪一个? – 2013-04-09 09:19:10
还有一个问题。我复制并编辑了Person的“创建”视图,并将@ Html.EditorFor ...添加到了视图中,并且它工作正常。但是,我不确定创建请求的工作原理。我的意思是,当我单击父视图的提交按钮(上面的'BuildingPermit')时,它是否会自动发布并保存所有表的所需信息?或者我应该手动处理? – 2013-04-09 09:26:10
脚手架文件将被设置为发布到您的控制器。您将要删除'@ Html.BeginForm()'和任何创建或编辑标题。您的模板应该只包含显示模板所需的内容,例如'@ Html.LabelFor()','@ Html.TextBoxFor()','@ Html.ValidationMessageFor()'等等。 – 2013-04-09 09:31:20