gpt4 book ai didi

asp.net-core - 如何在 taghelper 过程方法中获取整个 View 模型?

转载 作者:行者123 更新时间:2023-12-05 06:25:24 26 4
gpt4 key购买 nike

是否可以在标签助手 Process 方法(.NET Core MVC)中获取整个 View 模型?

最佳答案

一切 传递给标签助手的都是通过属性完成的。如果你想要整个 View 模型,那么你只需这样做:

<mytag model="@Model" />

然后你需要在你的标签助手上有一个属性来将它绑定(bind)到 like:

public MyViewModel Model { get; set; }

属性的名称与属性的名称相对应。这里的“模型”没有什么特别之处。

但是,它的实用性将受到限制。标签助手旨在有点通用。这就是重点:封装可重用的逻辑。如果您将它绑定(bind)到特定的 View 模型类(基于属性),那么它将与该特定的 View 模型一起工作。使它更通用的唯一方法是使用基类或按字面意思将其键入 object,以便可以传递 anything。但是,对于基类,1) 您需要让每个 View 模型都继承自该基类,并且 2) 即使那样,您也只能使用基类的属性。使用 object,您将无法真正引用任何属性,除非您先将其向下转换为特定的 View 模型类。虽然这将允许您处理任何场景,但原则上,您将被迫在标签助手中使用长 block 的 switchif 语句来有条件地处理不同的场景.

总而言之,出于多种原因,通过整个模型并不是一个好主意。标签助手应该有一个特定的目的,你应该只传递它特别需要的东西,这也允许你明确这些需求。

如果您正在寻找处理整个模型的东西,您更有可能寻找局部 View 或 View 组件,而不是标签助手。

关于asp.net-core - 如何在 taghelper 过程方法中获取整个 View 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57164808/

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