#NET编程#
ASP.NETMVC5辅助方法01第1节:Html.ActionLink()
在ASP.NETMVC5中,使用
Html.ActionLink()辅助方法用于生成Html的超链接标记a,用于显示超级链接和相关信息。输出的Html标记为ahref=“”文本信息/a。Html.ActionLink()常用的基本语法如下:Html.ActionLink(点赞,Hit)Html.ActionLink()重载方法参数说明如下:第一个参数用于显示a标记的显示文本,如“点赞”、“评论”等文本。第二个参数用于转向当前控制器的那个操作方法,如“Top”操作方法。如果需要转向其它的控制器和操作方法,可以使用带有3个参数的ActionLink()方法,视图代码如下:
Html.ActionLink(点赞,Top,Student)在
Html.ActionLink()重载方法中,如果不指定控制器的名称,则请求的是当前页面所在的控制器,如果指定了控制器名称,则会按此控制器名称组织URL地址。Html.ActionLink()方法运行后的结果如下图所示:打开网页源代码看一下,
Html.ActionLink()辅助方法会输出什么样的Html标记?从生成后的Html源代码上看,
Html.ActionLink()生成的最终Html标记是ahref=“”点赞/a是一个标准的Html超链接标记。¥30.NETMvc5深入编程-从0基础到深入学习线上.NET培训课程淘宝¥购买已下架02第2节:Html.DropDownList()
一、基本用法
在ASP.NETMVC5视图中使用
Html.DropDownList()辅助方法表示下拉列表框或下拉菜单,生成HTML中的select标记。Html.DropDownList()辅助方法生成的下拉菜单中的所有项的数据类型是类型为SelectListItem项的集合。如:ListSelectListItem,也可以是SelectList集合。在
Html.DropDownList()方法中,每个选项的类型在C#代码中都是一个SelectListItem类。在SelectListItem类中,有3个属性是非常有用的,说明如下:
Selected表示下拉菜单中被选择的项。Text表示下拉菜单中显示的文本值。Value表示下拉菜单每项对应的内部值,这个内部值主要用于在后台代码中获取进行操作。
Html.DropDownListFor()是强类型版本,需要配合视图模型(ViewModel)来使用。Html.DropDownListFor(m=m.Name,ViewBag.PlacesasListSelectListItem)一般情况下都是通过ViewBag和ViewData向视图中的
Html.DropDownList()辅助方法传递数据的。下面我们在控制器的Index()方法中编写C#代码,生成一个SelectListItem类型的泛型列表集合对象。然后通过ViewBag对象传递给视图,这样在视图中,就可以给
Html.DropDownList()辅助方法填充下拉选项了。publicActionResultIndex(){ListSelectListItemPlaceItems=newListSelectListItem()newSelectListItem(){Text=中国,Value=1},newSelectListItem(){Text=美国,Value=2},newSelectListItem(){Text=英国,Value=3}};ViewBag.Places=PlaceItems;returnView();}
当控制器返回给视图数据之后,在Razor视图中,就可以给下拉列表框赋值了,其赋值代码如下:
Html.DropDownList(Places)只需要将ViewBag的属性名称放在DropDownList()方法中作为参数存在,则就可以自动将选项填充到下拉菜单中。
此时运行出来的结果,默认显示的是列表项中的第一项,如果默认让“美国”项选中,则只需要修改控制器中的代码,将选中的项使用Selected=true即可。
在SelectListItem类中,指定Selected属性的值为true即可,那么当前的列表项就会默认选中。
二、默认空项的文本
当我们在网站上使用下拉菜单时,默认情况是没有值的,而显示了“请选择”字样,这样提示我们需要手动去选择一下,避免用户在没有选择的情况下直接使用了默认值。
Html.DropDownList(Places,请选择)这样可以做到“请选择”为第一项。使用的参数名是optionLabel。
此时,如果我们没有在下拉菜单中选择项,则表单是不能提交的,会提示我们要选择一个项才能提交,当用户选择时,是知道具体要选择哪一项的,这样就不会导致用户忘记而提交错误的信息。
三、转换为SelectList
也可以将ListSelectListItem集合转换为SelectList类型来显示数据,SelectList本身就是一个集合。
Html.DropDownList(Places,ViewBag.PlacesasSelectList);这里使用了as关键字来实现兼容类型之间的转换,可轻松实现ListSelectListItem类型与SelectList类型之间的转换。
注意:使用SelectList类型的时候,
Html.DropDownList()辅助方法的第1个参数值要与ViewBag的属性相同。03第3节:Html.TextArea()
使用
Html.TextArea()辅助方法表示多行文本框。生成HTML的textarea标记。如下是Html.TextArea()的基本用法:Html.TextArea(Remark)此辅助方法生成的HTML标记为:textareacols=20id=Remarkname=Remarkrows=2/textarea此标记的含义是生成一个默认具有2行20列的多行文本框,在多行文本框中可以输入更多的文本内容。
Html.TextAreaFor()辅助方法是强类型版本,需要配合model使用。不同生产商的浏览器,呈现多行文本框的样子可能稍有不同,但功能都是可输入多行的文本内容。
Html.TextareaFor()方法是强类型版本,需要配合model使用。04第4节:Html.CheckBox()
使用
Html.CheckBox()辅助方法表示复选框,生成HTML的inputtype=“checkbox”标记。在视图中使用Html.CheckBox()的代码如下:div
Html.CheckBox(Hobby,true)爬山Html.CheckBox(Hobby,false)滑雪/div第一个参数为标记的id和name的值,第二个参数为bool类型,true表示选中该复选框,false表示未选中。
Html.CheckBoxFor()是强类型版本,需要配合视图模型对象来使用。在上面,我们学习了4个Html辅助方法,这4个辅助方法也是在Web页面上最为常用的方法,能够让页面更加丰富。其中
Html.DropDownList()方法的使用稍有些复杂,需要对每个参数了解清楚才能更好的使用该方法。