我正在尝试使用扩展的 html 帮助程序创建动态复选框列表控件?单选按钮列表将由项目列表填充吗?不确定如何使其对任何列表项都更加灵活。
public static string CheckBoxList(this HtmlHelper helper, string name, <Some List> items)
{
var output = new StringBuilder();
output.Append(@"<div class=""checkboxList"">");
foreach (var item in items)
{
output.Append(@"<input type=""checkbox"" name=""");
output.Append(name);
output.Append("" value="");
output.Append(item.Value);
output.Append(""");
output.Append(" />");
output.Append(item.Value);
output.Append("<br />");
}
output.Append("</div>");
return output.ToString();
}
如何将值属性名称作为参数传入,然后通过反射获取该属性?
var itemValue = item.GetType( ).GetProperty( propName ).GetValue( item, null );
所以你的签名方法是这样的:
public static string CheckBoxList(this HtmlHelper helper, string name, List<object> items, string propName)