asp.net-mvc – 如何填充mvc剃刀部分视图
|
我需要创建一个显示订单标题信息的视图,我需要添加一个显示行项目网格的标签视图。部分视图将从viewmodel中强力输入。我明白我应该使用html helper @ Html.Partial(“Path / view”)。我直到现在才使用控制器打开视图,在将视图模型发送到视图之前填充视图模型。由于部分视图被从html帮助器调用,我想知道是什么将是使用模型数据填充parital视图的最佳方式。 解决方法选项1:从父页面继承默认情况下,通过调用@ Html.Partial(“PartialViewName”)呈现的任何部分视图将获取传递给父视图的视图模型。 所以如果你有 查看模型 namespace MyNamesapce
{
public OrderInfoViewModel
{
public string OrderTitle { get; set; }
public IEnumerable<OrderItem> OrderItems { get; set; }
}
}
OrderInfo.cshtml @model MyNamespace.OrderInfoViewModel
<h1>@Model.OrderTitle</h1>
@Html.Partial("OrderLineItems")
OrderLineItems页面应该得到一个MyNamespace.OrderViewModel传递给它…所以你的部分视图应该如下所示: OrderLineItems.cshtml @model MyNamespace.OrderInfoViewModel
foreach (var orderItem in Model.OrderItems)
{
//Do stuff
}
选项2:指定模型 您可以使用第二个参数指定要传递的视图模型。即 OrderInfo.cshtml @model MyNamespace.OrderInfoViewModel
<h1>@Model.OrderTitle</h1>
@Html.Partial("OrderLineItems",Model.OrderItems)
OrderLineItems.cshtml @model IEnumerable<OrderItem>
foreach (var orderItem in Model)
{
//Do stuff
}
选项3:使用部分动作 如果您需要重复使用多个页面的部分视图,则使用部分视图可能是一个好主意,因为无需使用相同的信息填充不同的视图模型,因为该页面将使用相同的部分。 例如。 查看模型 namespace MyNamesapce
{
public OrderInfoViewModel
{
public string OrderTitle { get; set; }
}
}
调节器 public class OrderController : Controller
{
public ActionResult OrderInfo(int orderId)
{
OrderInfoViewModel viewModel = GetViewModel(orderId);
return View(viewModel);
}
public PartialViewResult OrderLineItems(int orderId)
{
IEnumerable<OrderItem> orderItems = GetOrderItems(orderId);
return Partial(orderItems);
}
}
OrderInfo.cshtml @model MyNamespace.OrderInfoViewModel
<h1>@Model.OrderTitle</h1>
@Html.Action("OrderLineItems")
OrderLineItems.cshtml @model IEnumerable<OrderItem>
foreach (var orderItem in Model.OrderItems)
{
//Do stuff
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何更新asp.net网站(刚更改的文件)
- asp.net-mvc – 在ascx文件中使用Html.RenderPartial()
- asp.net-mvc – 在ASP.NET MVC 1.0中在HTTP和HTTPS之间切换
- asp.net-core – 如何使用FluentValidation.AspNetCore和Fl
- ASP.NET Core 1.0 F#项目
- asp.net – web.config文件设置是否覆盖IIS设置?
- asp.net-mvc – Asp.net MVC 3 RC – Razor ValidationMess
- asp.net-mvc – 直接下载链接到ASP.NET MVC 5 for VS 2012
- 单元测试 – 测试ASP.NET Web API多部分表单数据文件上载
- asp.net-web-api – Web Api使用IDependencyResolver补充启
- asp.net-mvc – 奇怪的MVC问题
- asp.net – HttpPostedFileBase.SaveAs方法问题
- ASP.Net C#ResolveClientUrl里面的类
- asp.net – 在开发系统上禁用OutputCache
- 如何在ASP.Net Web API中为特定控制器启用Window
- asp.net-mvc – ASP.Net MVC – 处理不好的URL参
- asp.net-mvc-4 – 返回状态代码未经授权在WebAPI
- asp.net-mvc – 变化:*错误地添加到http标头响应
- 在ASP.NET MVC Core控制器的构造函数中设置ViewB
- asp.net – 查找和删除孤立的网页,图像和其他相关
