【问题标题】:How to design configurable MVC panels?如何设计可配置的 MVC 面板?
【发布时间】:2010-06-22 20:13:45
【问题描述】:
我必须制作一个 Web 应用程序,该应用程序生成的页面包含面板,该面板具有不同的设置配置,用于托管该页面的不同站点。
例如,SiteA.com 有一个带有 3 个选择下拉菜单的搜索面板,而 SiteB.com 可以有一个带有 4 个选择下拉菜单的搜索面板。
任何人都可以就我如何进行操作提供任何建议吗?或者推荐任何可能符合我想要实现的模式?
【问题讨论】:
标签:
c#
asp.net-mvc
design-patterns
oop
【解决方案1】:
面板的概念更多的是 ASP.NET,实际上不应该与 ASP.NET MVC 一起使用。您应该使用部分视图来表示您需要显示的每个搜索部分。因此,将每个搜索部分的所有自定义代码放在部分视图中,然后在您的网站上调用部分以包含该代码:
<%Html.RenderPartial("SearchOne");%>
SearchOne 部分视图的代码,如下所示:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%Html.DropDownList("DropDownOne");%>
<%Html.DropDownList("DropDownTwo");%>
<%Html.DropDownList("DropDownThree");%>