在Asp.net mvc中为DropDownLists填充ViewData的最佳方法是什么?

时间:2010-02-14 16:25:25

标签: asp.net-mvc

为多个视图中使用的下拉列表填充ViewData的最佳方法是什么。如果在使用下拉列表的每个Action中完成,那么我们就违反了DRY主体。理想情况下,我们也应该缓存常用的SelectLists(例如国家,国家等)。

2 个答案:

答案 0 :(得分:2)

我之前使用ActionFilters完成了它。就我而言,我需要在每一页上都有一份赞助商名单。

http://weblogs.asp.net/psteele/archive/2009/11/04/using-windsor-to-inject-dependencies-into-asp-net-mvc-actionfilters.aspx

答案 1 :(得分:0)

您应该为这些视图准备基本视图模型,并通过继承特定视图中的数据来增强它:

class BaseViewModel
{
     List<string> Countries;
     List<string> States;
}

在我的应用程序中,我创建了一个包含缓存字典的对象。它实现了IApplicationCache接口(由我创建,它返回使用过的词典的列表),它被注入到业务逻辑层并用于填充视图模型。