我可以使用以下代码轻松构建下拉列表:
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的新手,掌握了它,但仍然没有想到这一点。
如果有人知道如何做到这一点并且可以指出我正确的方向,它将为我节省一些切割和粘贴。