剃刀视图中的常用功能,用于在多个视图页面中生成下拉列表

时间:2017-03-20 17:18:44

标签: c# asp.net-mvc asp.net-mvc-4 asp.net-mvc-3

我的页面包含多个下拉列表,其中包含

选项
<option>-5<option>
<option>-6<option>
<option>-7<option>

 @functions {
        public List<SelectListItem> GenerateDropDown(int startvalue, int endValue)
        {
            var dropDownList = new List<SelectListItem>();
            for (int i = startvalue; i <= endValue; i++)
            {
                string val = i.ToString();
                dropDownList.Add(new SelectListItem { Text = val, Value = val });
            }
            return dropDownList;
        }
}

所以我在一个函数中创建了在剃刀视图中生成下拉选项。

 @Html.DropDownListFor(m => m.xyz, GenerateDropDown(1, 10))
 @Html.DropDownListFor(m => m.Abc, GenerateDropDown(2, 20))

并使用像这样的

boost::lockfree::detail::freelist

这项工作很好,但我希望在多个页面中使用相同的功能而不使用代码重复我尝试使用帮助方法但没有任何用处可以任何人建议我如何集中GenerateDropDown函数。

1 个答案:

答案 0 :(得分:1)

创建静态类,其中包含静态方法GenerateDropDown。

让我们说

       public static class GeneratorHelper{

         public static List<SelectListItem> GenerateDropDown(int startvalue, int endValue)
            {
                var dropDownList = new List<SelectListItem>();
                for (int i = startvalue; i <= endValue; i++)
                {
                    string val = i.ToString();
                    dropDownList.Add(new SelectListItem { Text = val, Value = val });
                }
                return dropDownList;
            }
       }

现在在剃须刀中你只需使用该类:

GeneratorHelper.GenerateDropDown(1,5);