Entity framework 如何在ASP.NETMVC2中添加、编辑和显示一对多关系实体?
我正在寻找符合MVC设计模式的最佳实践 我的实体具有以下关系。 tblPortal PortalId PrortalName tblPortalAlias别名PortalId HttpAlias 每个门户可以有多个门户 我想添加一个新的门户,然后添加相关的门户 我对如何构造视图以及如何向用户呈现视图感到困惑。我正在寻找一些关于如何实现这一点的示例代码 我的想法是首先呈现门户视图,让用户添加门户。然后单击门户列表视图上的编辑链接,并在门户编辑视图上让他们添加门户 如果是,编辑视图应该是什么样子 到目前为止,我已经: 编辑视图 便携式 PortalFormViewModelEntity framework 如何在ASP.NETMVC2中添加、编辑和显示一对多关系实体?,entity-framework,asp.net-mvc-2,Entity Framework,Asp.net Mvc 2,我正在寻找符合MVC设计模式的最佳实践 我的实体具有以下关系。 tblPortal PortalId PrortalName tblPortalAlias别名PortalId HttpAlias 每个门户可以有多个门户 我想添加一个新的门户,然后添加相关的门户 我对如何构造视图以及如何向用户呈现视图感到困惑。我正在寻找一些关于如何实现这一点的示例代码 我的想法是首先呈现门户视图,让用户添加门户。然后单击门户列表视图上的编辑链接,并在门户编辑视图上让他们添加门户 如果是,编辑视图应该是什么样子 到
希望你已经在其他地方找到了答案,尽管基于在网上找到这方面的信息有多困难,这可能不太可能 一个MSDN博客链接到在第一段中有一个链接到本系列的前一篇
但似乎更好一些,并包含示例代码。希望您在其他地方找到了答案,尽管基于在线查找有关此信息的困难程度,可能不太可能 一个MSDN博客链接到在第一段中有一个链接到本系列的前一篇
但似乎更好一些,并包含了示例代码。Steve的淘汰帖子是编辑一对多关系的更好方法@Ryan感谢您提供的附加链接。我觉得这个例子看起来很熟悉,现在我知道为什么了。不幸的是他没有把老的和新的联系起来,但是。。。好发现@卡巴斯科夫,我想这可能是GitHub的问题。帧源是404,对我来说是404。但我也在Chrome的信息框中看到了这条信息。可能是半决赛。没有电子邮件链接,我也停止使用Twitter,所以我放弃了就这个问题联系史蒂夫。请看问题。史蒂夫的精彩帖子是编辑一对多关系的更好方式@Ryan感谢您提供的附加链接。我觉得这个例子看起来很熟悉,现在我知道为什么了。不幸的是他没有把老的和新的联系起来,但是。。。好发现@卡巴斯科夫,我想这可能是GitHub的问题。帧源是404,对我来说是404。但我也在Chrome的信息框中看到了这条信息。可能是半决赛。没有电子邮件链接,我也停止使用Twitter,所以我放弃了就这个问题联系史蒂夫。请看问题。
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage<MyProject.Mvc.Models.PortalFormViewModel>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Edit
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Edit</h2>
<% Html.RenderPartial("PortalForm", Model); %>
<div>
<%= Html.ActionLink("Back to List", "Index") %>
</div>
</asp:Content>
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyProject.Mvc.Models.PortalFormViewModel>" %>
<%= Html.ValidationSummary("Please correct the errors and try again.") %>
<% using (Html.BeginForm()) {%>
<%= Html.ValidationSummary(true) %>
<fieldset>
<legend>Fields</legend>
<div class="editor-label">
<%= Html.LabelFor(model => model.Portal.PortalId) %>
</div>
<div class="editor-field">
<%= Html.TextBoxFor(model => model.Portal.PortalId) %>
<%= Html.ValidationMessageFor(model => model.Portal.PortalId) %>
</div>
<div class="editor-label">
<%= Html.LabelFor(model => model.Portal.PortalName) %>
</div>
<div class="editor-field">
<%= Html.TextBoxFor(model => model.Portal.PortalName) %>
<%= Html.ValidationMessageFor(model => model.Portal.PortalName) %>
</div>
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
<% } %>
Alias<br /><%-- This display is for debug --%>
<% foreach (var item in Model.PortalAlias) { %>
<%= item.HTTPAlias %><br />
<% } %>
public class PortalFormViewModel
{
public Portal Portal { get; private set; }
public IEnumerable<PortalAlias> PortalAlias { get; private set; }
public PortalFormViewModel()
{
Portal = new Portal();
}
public PortalFormViewModel(Portal portal)
{
Portal = portal;
PortalAlias = portal.PortalAlias;
}
}