再ASP.NET MVC编程中用到了R语法,在View页面编辑HTML标签的时候,ASP.NET MVC 为我们准备好了可以辅助我们写这些标签的办法,它们就是HtmlHelper。微软官方地址是:https://msdn.microsoft.com/zh-cn/library/system.web.mvc.html(v=vs.118).aspx 

ASP.NET MVC HtmlHelper 类的扩展方法

 

在此,整理了一份对应的表格,以便快速记忆。

HTML <select> 标签(下拉列表)

		<select name="selectTag">
			<optgroup label="水果">
				<option value="1">苹果</option>
				<option value="2" selected="selected">香蕉</option>
				<option value="3">梨</option>
			</optgroup>
			<optgroup label="蔬菜">
				<option value="4" disabled="disabled">小白菜</option>
				<option value="5">菠菜</option>
				<option value="6">青菜</option>
			</optgroup>
			<optgroup label="衣服" disabled="false">
				<option value="7">上衣</option>
				<option value="8">裤子</option>
				<option value="9">内衣</option>
			</optgroup>
		</select>

显示效果:

ASP.NET MVC HtmlHelper 类的扩展方法

使用思路:

1、首先要建立数据源,也就是下拉列表里的数据

2、数据源里的数据项类型是SelectListItem类型,它有5个属性,分别是
string类型的 Text 要显示的文本,
string类型的 Value 文本对于的值,
bool类型的 Selected 代表是否被选中了,单选<select>标签只能有一个true,默认为false,可以不些,
bool类型的 Disabled 表示选择项是否可用,
最后一个类型复杂些,SelectListGroup 类型的 Group ,表示选项的分组。SelectListGroup类型有2个参数,一个是string类型的Name,也就是分组的名称,第二个属性为bool类型的Disabled 表示是否可用,如果不可用,那么其下的项都不能用,显示为灰色的。

3、然后建立一个列表,类型为List<SelectListItem>,然后把从数据库或其他地方来的数据填充到这个列表及列表项中。

4、把列表实例传递到view页面

5、在页面的@Html.DropDownList()中显示出来

 

public SelectList MyList()
{
   var group1 = new SelectListGroup() { Name = "Group 1" };
   var group2 = new SelectListGroup() { Name = "Group 2" };

   var items = new List<SelectListItem>();

   items.Add(new SelectListItem() { Value = "1", Text = "Item 1", Group = group1 });
   items.Add(new SelectListItem() { Value = "2", Text = "Item 2", Group = group2 });

   return new SelectList(items, "Value", "Text");
}
有Group示例1

相关文章: