razor 视图中的常用函数,用于在多个视图页面中生成下拉列表
Common function in razor view to generate drop down in multiple view pages
我有一个包含多个下拉菜单的页面,带有类似
的选项
<option>1<option>
<option>2<option>
<option>3<option>
和
<option>-5<option>
<option>-6<option>
<option>-7<option>
所以我创建了一个函数来在 razor 视图中生成下拉选项。
@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))
这个工作正常,但我想在多个页面中使用相同的函数,没有代码重复我尝试使用辅助方法,但没有人可以建议我如何集中 GenerateDropDown 函数。
创建静态 Class,其中包含静态方法 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;
}
}
现在在剃须刀中,您只需将 class 用作:
GeneratorHelper.GenerateDropDown(1,5);
我有一个包含多个下拉菜单的页面,带有类似
的选项<option>1<option>
<option>2<option>
<option>3<option>
和
<option>-5<option>
<option>-6<option>
<option>-7<option>
所以我创建了一个函数来在 razor 视图中生成下拉选项。
@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))
这个工作正常,但我想在多个页面中使用相同的函数,没有代码重复我尝试使用辅助方法,但没有人可以建议我如何集中 GenerateDropDown 函数。
创建静态 Class,其中包含静态方法 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;
}
}
现在在剃须刀中,您只需将 class 用作:
GeneratorHelper.GenerateDropDown(1,5);