C# ASP.NET MVC HtmlHelper用法大全

本文详细介绍了HTML中常用标签的使用方法,包括ActionLink、RouteLink、Form、TextBox、TextArea、CheckBox、ListBox、DropdownList和Partial视图模板的使用示例及生成结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为是转载文章 在此标明出处,以前有文章是转的没标明的请谅解,因为有些已经无法找到出处,或者与其它原因。

如有冒犯请联系本人,或删除,或标明出处。

因为好的文章,以前只想收藏,但连接有时候会失效,所以现在碰到好的直接转到自己这里。

原文 出处http://www.cnblogs.com/fishtreeyu/archive/2011/03/23/1992498.html

 

HTML扩展类的所有方法都有2个参数:

以textbox为例子

public static string TextBox( this HtmlHelper htmlHelper, string name, Object  value, IDictionary<string, Object> htmlAttributes )

public static string TextBox( this HtmlHelper htmlHelper, string name, Object  value, Object htmlAttributes )

这2个参数代表这个html标签的属性集合。使用方法如下。

 1.ActionLink

?
<%=Html.ActionLink( "这是一个连接" , "Index" , "Home" )%>
带有QueryString的写法
<%=Html.ActionLink( "这是一个连接" , "Index" , "Home" , new { page=1 }, null )%>
<%=Html.ActionLink( "这是一个连接" , "Index" , new { page=1 })%>
有其它Html属性的写法
<%=Html.ActionLink( "这是一个连接" , "Index" , "Home" , new { id= "link1" })%>
<%=Html.ActionLink( "这是一个连接" , "Index" , null , new { id= "link1" })%>
QueryString与Html属性同时存在
<%=Html.ActionLink( "这是一个连接" , "Index" , "Home" , new { page = 1 }, new { id = "link1" })%>
<%=Html.ActionLink( "这是一个连接" , "Index" , new { page = 1 }, new { id = "link1" })%>
  
生成结果为:
<a href= "/" >这是一个连接</a>
带有QueryString的写法
<a href= "/?page=1" >这是一个连接</a>
<a href= "/?page=1" >这是一个连接</a>
有其它Html属性的写法
<a href= "/?Length=4" id= "link1" >这是一个连接</a>
<a href= "/" id= "link1" >这是一个连接</a>
QueryString与Html属性同时存在
<a href= "/?page=1" id= "link1" >这是一个连接</a>
<a href= "/?page=1" id= "link1" >这是一个连接</a>

2.RouteLink

?
跟ActionLink在功能上一样。
<%=Html.RouteLink( "关于" , "about" , new { })%>
带QueryString
<%=Html.RouteLink( "关于" , "about" , new { page = 1 })%>
<%=Html.RouteLink( "关于" , "about" , new { page = 1 }, new { id = "link1" })%>
  
生成结果:
<a href= "/about" >关于</a>
<a href= "/about?page=1" >关于</a>
<a href= "/about?page=1" id= "link1" >关于</a>

3.Form 2种方法

?
<% using (Html.BeginForm( "index" , "home" ,FormMethod.Post)){%>
<%} %>
 
<%Html.BeginForm( "index" , "home" , FormMethod.Post); //注意这里没有=输出%> 
<%Html.EndForm(); %>
 
生成结果:
<form action= "/home/index" method= "post" ></form>

4.TextBox , Hidden ,

?
<%=Html.TextBox( "input1" ) %>
<%=Html.TextBox( "input2" ,Model.CategoryName, new { @style = "width:300px;" }) %>
<%=Html.TextBox( "input3" , ViewData[ "Name" ], new { @style = "width:300px;" }) %>
<%=Html.TextBoxFor(a => a.CategoryName, new { @style = "width:300px;" })%>
  
生成结果:
  
<input id= "input1" name= "input1" type= "text" value= "" />
<input id= "input2" name= "input2" style= "width:300px;" type= "text" value= "Beverages" />
<input id= "input3" name= "input3" style= "width:300px;" type= "text" value= "" />
<input id= "CategoryName" name= "CategoryName" style= "width:300px;" type= "text" value= "Beverages" />

5.TextArea

?
<%=Html.TextArea( "input5" , Model.CategoryName, 3, 9, null )%>
<%=Html.TextAreaFor(a => a.CategoryName, 3, 3, null )%>
  
生成结果:
<textarea cols= "9" id= "input5" name= "input5" rows= "3" >Beverages</textarea>
<textarea cols= "3" id= "CategoryName" name= "CategoryName" rows= "3" >Beverages</textarea>

6.CheckBox

?
<%=Html.CheckBox( "chk1" , true ) %>
<%=Html.CheckBox( "chk1" , new { @ class = "checkBox" }) %>
<%=Html.CheckBoxFor(a =>a.IsVaild, new { @ class = "checkBox" })%>
 
生成结果:
 
<input checked = "checked" id= "chk1" name= "chk1" type= "checkbox" value= "true" /><input name= "chk1" type= "hidden" value= "false" />
 
<input class = "checkBox" id= "chk1" name= "chk1" type= "checkbox" value= "true" /><input name= "chk1" type= "hidden" value= "false" />
 
<input checked = "checked" class = "checkBox" id= "IsVaild" name= "IsVaild" type= "checkbox" value= "true" /><input name= "IsVaild" type= "hidden" value= "false" />

7.ListBox

?
<%=Html.ListBox( "lstBox1" ,(SelectList)ViewData[ "Categories" ])%>
<%=Html.ListBoxFor(a => a.CategoryName, (SelectList)ViewData[ "Categories" ])%>
 
生成结果:
< select id= "lstBox1" multiple= "multiple" name= "lstBox1" >
<option value= "1" >Beverages</option>
<option value= "2" >Condiments</option>
<option selected= "selected" value= "3" >Confections</option>
<option value= "4" >Dairy Products</option>
<option value= "5" >Grains/Cereals</option>
<option value= "6" >Meat/Poultry</option>
<option value= "7" >Produce</option>
<option value= "8" >Seafood</option>
</ select >
< select id= "CategoryName" multiple= "multiple" name= "CategoryName" >
<option value= "1" >Beverages</option>
<option value= "2" >Condiments</option>
<option value= "3" >Confections</option>
<option value= "4" >Dairy Products</option>
<option value= "5" >Grains/Cereals</option>
<option value= "6" >Meat/Poultry</option>
<option value= "7" >Produce</option>
<option value= "8" >Seafood</option>
</ select >

8.DropDownList

?
<%= Html.DropDownList( "ddl1" , (SelectList)ViewData[ "Categories" ], "--Select One--" )%>
<%=Html.DropDownListFor(a => a.CategoryName, (SelectList)ViewData[ "Categories" ], "--Select One--" , new { @ class = "dropdownlist" })%>
  
生成结果:
< select id= "ddl1" name= "ddl1" >
<option value= "" >--Select One--</option>
<option value= "1" >Beverages</option>
<option value= "2" >Condiments</option>
<option selected= "selected" value= "3" >Confections</option>
<option value= "4" >Dairy Products</option>
<option value= "5" >Grains/Cereals</option>
<option value= "6" >Meat/Poultry</option>
<option value= "7" >Produce</option>
<option value= "8" >Seafood</option>
</ select >
< select class = "dropdownlist" id= "CategoryName" name= "CategoryName" >
<option value= "" >--Select One--</option>
<option value= "1" >Beverages</option>
<option value= "2" >Condiments</option>
<option value= "3" >Confections</option>
<option value= "4" >Dairy Products</option>
<option value= "5" >Grains/Cereals</option>
<option value= "6" >Meat/Poultry</option>
<option value= "7" >Produce</option>
<option value= "8" >Seafood</option>
</ select >

9.Partial 视图模板

?
webform里叫自定义控件。功能都是为了复用。但使用上自定义控件真的很难用好。
<% Html.RenderPartial( "DinnerForm" ); %>  看清楚了没有等号的。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值