gpt4 book ai didi

asp.net-mvc - 使用 ViewModel 和对 System.Web.Mvc 的引用是否违反了 MVC 模式?

转载 作者:行者123 更新时间:2023-12-04 14:06:42 24 4
gpt4 key购买 nike

我已经在 SO、博客和书籍中看到了它,作者告诉您在模型项目中添加特定于 View 的 ViewModel 作为底层模型对象的包装器。这样做的目的是在您将模型绑定(bind)到 View 时使其变得非常简单和有针对性。这是一个很好的例子:Rendering and Binding Drop Down Lists using ASP.NET MVC 2 EditorFor

然而,让我有点恼火的是,我的模型中现在有对 System.Web.Mvc 的引用,否则这些引用本可以用于多个导出(可能是 WCF API、Silverlight 等),但现在我有对 MVC dll 的特定引用这将是构建我的模型项目所必需的。

我的问题是:当我们开始添加 IEnumerable<SelectListItem> 时,这是否违反 MVC 模式?到我们的模型课?是否有一个可行的替代层来移动它以及如何移动它,即 Controller ?

任何想法或意见表示赞赏。

最佳答案

我个人只在 View 中动态创建选择列表,从我的模型中更可重用的 IEnumerable 列表中创建,这意味着我的模型没有任何与 SelectLists、SelectListItems 或任何 MVC 特定相关的内容。

promise 的示例 - 在 View 中创建 SelectList,使用所有普通 View 引擎位......

<%= Html.ListBox("SelectedStuff", 
new SelectList(Model.SomeOptions, "id", "name", Model.SelectedStuff)) %>

关于asp.net-mvc - 使用 ViewModel 和对 System.Web.Mvc 的引用是否违反了 MVC 模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3362998/

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