Asp.net mvc 正在查找在网页上多次使用同一部分视图的示例
使用.NETMVC,我对一个地址有一个局部视图,我需要在同一个页面上实现多次,因为用户可能有不同类型的地址。作为.NETMVC的新手,我想找一个例子来指导我完成所有必要的步骤 下面是一些代码。代码的第一部分是包含部分视图的主页面。我知道这样做是错误的,但我首先尝试了两次(针对两个不同的地址)列出“Html.RenderPartial”行。我这样做只是为了看看它会做什么Asp.net mvc 正在查找在网页上多次使用同一部分视图的示例,asp.net-mvc,Asp.net Mvc,使用.NETMVC,我对一个地址有一个局部视图,我需要在同一个页面上实现多次,因为用户可能有不同类型的地址。作为.NETMVC的新手,我想找一个例子来指导我完成所有必要的步骤 下面是一些代码。代码的第一部分是包含部分视图的主页面。我知道这样做是错误的,但我首先尝试了两次(针对两个不同的地址)列出“Html.RenderPartial”行。我这样做只是为了看看它会做什么 <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Share
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<JCIMS_MVC2_EF.DomainModel.Data.Models.DistrictAddressModel>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Create District
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<% Html.RenderPartial("DistrictHeaderPartial", this.ViewData.Model.DistrictHeader); %>
<% Html.EnableClientValidation(); %>
<% using (Html.BeginForm()) { %>
<fieldset id="address">
<legend>Create new Address for <%: Model.DistrictHeader.District_Name %></legend>
<% Html.RenderPartial("AddressEditPartial", this.Model); %>
</fieldset>
<p>
<input type="submit" value="Save" />
</p>
<% } %>
<div>
<%: Html.ActionLink("Return to District Info Page", "Index", "District", new { id = Model.DistrictHeader.District_GUID }, null)%>
</div>
</asp:Content>
创建区域
为创建新地址
这是局部视图:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<JCIMS_MVC2_EF.DomainModel.Data.Models.BaseAddressModel>" %>
<script language="javascript" type="text/javascript">
$(document).ready(function () {
$("#AddressViewData_Zip_Code").mask("99999");
});
</script>
<div class="editor-label">
<%: Html.LabelFor(model => model.AddressViewData.Address_Type_Text) %>
</div>
<%: Html.DropDownList("AddressViewData.Address_Type_Code")%>
<%: Html.ValidationMessageFor(model => model.AddressViewData.Address_Type_Code) %>
<div class="editor-label">
<%: Html.LabelFor(model => model.AddressViewData.Street_Address)%>
</div>
<%: Html.TextBoxFor(model => model.AddressViewData.Street_Address, new { @class = "input-size" })%>
<%: Html.ValidationMessageFor(model => model.AddressViewData.Street_Address) %>
<div class="editor-label">
<%: Html.Label("City") %>
</div>
<%: Html.TextBoxFor(model => model.AddressViewData.City, new { @class = "input-size" })%>
<div class="editor-label">
<%: Html.Label("State") %>
</div>
<%: Html.DropDownList("AddressViewData.State")%>
<div class="editor-label">
<%: Html.LabelFor(model => model.AddressViewData.Zip_Code) %>
</div>
<%: Html.TextBoxFor(model => model.AddressViewData.Zip_Code) %>
<%: Html.ValidationMessageFor(model => model.AddressViewData.Zip_Code) %>
<div class="editor-label">
<%: Html.LabelFor(model => model.AddressViewData.Address_ATTN) %>
</div>
<%: Html.TextBoxFor(model => model.AddressViewData.Address_ATTN, new { @class = "input-size" })%>
<%: Html.ValidationMessageFor(model => model.AddressViewData.Address_ATTN) %>
$(文档).ready(函数(){
$(“#地址视图数据_邮政编码”).mask(“99999”);
});
model.AddressViewData.Address\u Type\u Text)%>
model.AddressViewData.Address\u Type\u Code)%>
model.AddressViewData.Street\u Address)%>
model.AddressViewData.Street_地址,新的{@class=“input size”})%>
model.AddressViewData.Street\u Address)%>
model.AddressViewData.City,新{@class=“input size”})%>
model.AddressViewData.Zip_Code)%%>
model.AddressViewData.Zip_Code)%%>
model.AddressViewData.Zip_Code)%%>
model.AddressViewData.Address\u ATTN)%>
model.AddressViewData.Address_ATTN,新的{@class=“input size”})%>
model.AddressViewData.Address\u ATTN)%>
有什么问题:
<% Html.RenderPartial("Name", model ) %>
<% Html.RenderPartial("Name", differentModel ) %>
我不完全确定您需要什么。但是如果我理解正确的话,你有一个
List类型的属性可以帮助你
如果问题在于在父视图中显示不同的地址,那么这只是一个简单的foreach
语句:
<% foreach(Address a in this.Model.Addresses) %>
<% { %>
<% Html.RenderPartial("Address", a); %>
<% } %>
我可能不清楚您在寻找什么,但基本上您的情况是您有一个用户列表,每个用户都有一个地址列表。因此,您将遍历您的用户列表以及每个用户的地址列表,如下所示(此代码段是嵌入在aspx页面中的c sharp示例:
<% foreach(User lvUser in Model.Users)
{ %>
<% Html.Encode(lvUser.Username) %>
<% Html.Encode(lvUser.Email) %>
<% foreach(Address lvAddress in lvUser.Addresses)
{ %>
<% Html.RenderPartial("PartialAddress", lvAddress); %> //Where you've set the view data class to Address
<% } %>
<% } %>
//将视图数据类设置为Address的位置
在您的视图中,您在哪里尝试渲染两个不同的地址?我只能看到一个与主视图模型相关的RenderPartial
。可能您没有解释清楚,因为我不太理解这里的问题。我尝试添加行:两次。这就是我尝试添加两个不同的addr的方式esses,但这并不正确。