调用函数来构建下拉列表

时间:2015-02-10 06:13:11

标签: asp.net-mvc

我可以使用以下代码轻松构建下拉列表:

List<SelectListItem> li2 = new List<SelectListItem>();
li2.Add(new SelectListItem { Text = "Strongly Agree", Value = "5" });
li2.Add(new SelectListItem { Text = "Agree", Value = "4" });
li2.Add(new SelectListItem { Text = "Neither", Value = "3" });
li2.Add(new SelectListItem { Text = "Disagree", Value = "2" });
li2.Add(new SelectListItem { Text = "Strongly Disagree", Value = "1" });
ViewData["DropDownRatings"] = li2;

问题是我在我的控制器的每个actionresult中创建了这个列表(特别是CREATE,EDIT和REVIEW动作)。

如何创建一个函数来构建此列表一次,然后只需调用该函数来创建列表。我尝试过在任何控制器操作之外创建此函数,但在类中。

private CreateRatingsList List<SelectListItem>()  
{
  //Build Ratings List
  List<SelectListItem> li2 = new List<SelectListItem>();
  li2.Add(new SelectListItem { Text = "Not Rated", Value = null });
  li2.Add(new SelectListItem { Text = "Strongly Agree", Value = "5" });
  li2.Add(new SelectListItem { Text = "Agree", Value = "4" });
  li2.Add(new SelectListItem { Text = "Neither", Value = "3" });
  li2.Add(new SelectListItem { Text = "Disagree", Value = "2" });
  li2.Add(new SelectListItem { Text = "Strongly Disagree", Value = "1" });
  //ViewData["DropDownRatings"] = li2;
  return (li2);
}

然后我想在控制器的每个actionresult部分只有一行代码,如:

ViewData["DropDownRatings"] = CreateRatingsList(); 

但我无法弄明白。我确信它非常简单。我是MVC的新手,掌握了它,但仍然没有想到这一点。

如果有人知道如何做到这一点并且可以指出我正确的方向,它将为我节省一些切割和粘贴。

0 个答案:

没有答案