gpt4 book ai didi

c# - 局部 View 是否总是需要从顶层 View 传递的模型?

转载 作者:太空宇宙 更新时间:2023-11-03 23:05:23 26 4
gpt4 key购买 nike

这是一个描述 MVC 部分 View 的 url:

https://learn.microsoft.com/en-us/aspnet/core/mvc/views/partial

基于此 url,分部 View 似乎绑定(bind)到从分部 View 的顶级/父 View 传递给它的模型。这是实现部分 View 的标准和预期方式吗?

这似乎表明打算从几个不同的父 View 中使用的分部 View 应该具有某种类型的关联专用类,可用于将其数据返回给多个不同的 View 模型构建器。这是对 MVC 分部 View 架构的正确解释吗?

最佳答案

是的。默认情况下它使用父 View (view)模型。但是您始终可以显式地将另一个模型传递给它(只要传递的模型类型与 View 强类型化的类型相同)。

@Html.Partial("MyPartialView",Model)

或者

 @{ var data = new MyClass { SomeProperty = "SomeValue"};
@Html.Partial("MyPartialView",data )

假设 MyPartialView 强类型化为 MyClass

@model MyClass

例如,如果您的主视图是强类型的 Order 类,它具有这样的 Customer 属性

public class Order
{
public int OrderId { set;get;}
public Customer Customer { set;get;}
}
public class Customer
{
public string Name { set;get;}
}

您可以通过传递 Model.Customer

从主视图调用强类型化到 Customer 类的分部 View
@model Order
<h2>@Model.OrderId</h2>
@Html.Partial("Customer",Model.Customer)

假设您的 Customer View 是 Customer 类型的强类型

@model Customer
<h2>@Model.Name</h2>

您可以从任何地方调用 Customer 局部 View ,只要您有要传递给它的 Customer 对象。 (如果您的父 View 是 Customer 类的强类型,您不需要显式传递它)

关于c# - 局部 View 是否总是需要从顶层 View 传递的模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41402631/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com