gpt4 book ai didi

c# - 您可以将不同的 View 模型发送到 View 吗?

转载 作者:行者123 更新时间:2023-11-30 15:09:03 26 4
gpt4 key购买 nike

假设我正在实现食品 View 。 (ASP.NET MVC2)

然后根据类型(例如水果或蔬菜)改变 View 。

我可以在不为水果和蔬菜创建单独 View 的情况下执行此操作吗?

即假设我们有类似 http://localhost:xxxx/Food/ 的 url 结构{foodID}

不想

http://localhost:xxxx/Veg/ {foodID}

http://localhost:xxxx/Fruit/ {foodID}

所以我希望能够根据类型更改 View 。我正在使用 telerik 的标签条控件,让您了解 View 的差异 - 只是说 - 不显示 Veg 的一个特定选项卡,而显示水果,例如。

一个 View 可以接受两个不同的 View 模型吗?所以当我们点击 http://localhost:xxxx/Food/ {foodID} 代码确定对象的类型(水果或蔬菜),然后发送 FruitViewModel 或 VegetableViewModel?如果我只发送一个 View 模型,我如何控制在 View 中显示或不显示某些内容的逻辑?

最佳答案

如果定义 FoodViewModel作为基类并具有 FruitViewModelVegetableViewModel扩展它,你可以有 ViewPage<FoodViewModel>并传入其中一个。然后,您的 View 可以检查它获得了哪个特定子类并呈现适当的输出。

或者,如果 FruitViewModel 之间的唯一区别和 VegetableViewModel是一个是水果,一个是蔬菜(但所有其他属性都是共享的,即 Name, Calories, Color, Cost ),有一个 FoodType共享属性(property)FoodViewModel并使用它有条件地呈现适当的输出。

关于c# - 您可以将不同的 View 模型发送到 View 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4894053/

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