首次访问控制器时调用一次代码

时间:2015-12-15 06:17:33

标签: c# controller asp.net-mvc-5

我有一个C# MVC 5网络应用程序,我创建了一个包含类别的模型,然后我通过MVC 5 Controller with views, using Entity Framework使用自动创建的控制器和视图。

我还有其他几个需要这些类别列表的控件。每页至少需要一次类别列表,但有时需要多次。我只是将信息读入列表,而不是进行多个数据库调用,如下所示:

var categoryQuery = from d in db.Categories
                    orderby d.Name
                    where d.Visible == true
                    select d;
List<Category> categoryList = new List<Category>();
categoryList.AddRange(categoryQuery);

我的控制器中是否有某个地方可以放置此代码,以便只调用一次但我可以多次使用该列表?

修改

编辑以提供更好的示例。在我的_Layout.cshtml页面中,我调用一个HTML动作,它返回一个局部视图来显示类别列表:

@Html.Action("Menu", "Categories", new { DropdownMenuTitle = "Categories" })

然后在我的Index.cshtml页面上,在同一个控制器中,我进行另一个数据库调用,以获取我在页面上创建SelectList然后是DropDownList的类别列表。

如果没有两个数据库调用,我该怎么做?

0 个答案:

没有答案