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 )
public static string TextBox( this HtmlHelper htmlHelper, string name, Object value, Object htmlAttributes )
这2个参数代表这个html标签的属性集合。使用方法如下。
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 >
带有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 >
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 >
<% = 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 >
Form 2种方法
<%
using(Html.BeginForm(
"
index
"
,
"
home
"
,FormMethod.Post)){
%>
<% } %>
<% Html.BeginForm( " index " , " home " , FormMethod.Post); // 注意这里没有 = 输出 %>
<% Html.EndForm(); %>
生成结果:
< form action ="/home/index" method ="post" ></ form >
<% } %>
<% Html.BeginForm( " index " , " home " , FormMethod.Post); // 注意这里没有 = 输出 %>
<% Html.EndForm(); %>
生成结果:
< form action ="/home/index" method ="post" ></ form >
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" />
<% = 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" />
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 >
<% = 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 >
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" />
<% = 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" />
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 >
<% = 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 >
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 >
<% = 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 >
Partial 视图模板
webform里叫自定义控件。功能都是为了复用。但使用上自定义控件真的很难用好。
<% Html.RenderPartial( " DinnerForm " ); %>
<% Html.RenderPartial( " DinnerForm " ); %>