麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > .NET > 正文

ASP.NET MVC中HtmlHelper控件7個大類中各個控件使用詳解

2020-03-24 15:43:23
字體:
來源:轉載
供稿:網友
HtmlHelper類在命令System.Web.Mvc.Html之中,主要由7個靜態類組成,它們分別是FormExtensions類,InputExtensions類,LinkExtensions類,SelectExtensions類,TextExtensions類,ValidationExtensions類,RenderPartialExtensions類。為了方便開發者使用HtmlHelper控件,在視圖ViewPage類中設置了一個屬性Html它就是HtmlHelper類型。一.FormExtensions類定義了3中類型的擴展方法BeginForm,BeginRouteForm,EndForm。(1) BeginForm (實現表單定義的開始部分)重載方法有13個:
BeginForm();BeginForm(Object routeValues);BeginForm(RouteValueDictionary routeValues);BeginForm(string actionName,string controllerName);BeginForm(string actionName,string controllerName,object routeValues);BeginForm(string actionName,string controllerName,RouteValueDictionary routeValues);BeginForm(string actionName,string controllerName,FormMethod method);BeginForm(string actionName,string controllerName,object routeValues,FormMethod method);BeginForm(string actionName,string controllerName,RouteValueDictionary routeVaues,FormMethod method);BeginForm(string actionName,string controllerName,FormMethod method,object htmlAttributes);BeginForm(string actionName,string controllerName,FormMethod method,IDictionary string,object htmlAttributes);BeginForm(string actionName,string controllerName,object routeValues,FormMethod method,object htmlAttributes);BeginForm(string actionName,string controllerName,RouteValueDictionary routeValues,FormMethod method,IDictionary string,object htmlAttributes);對于第二個重載方法可以設置如下:
復制代碼 代碼如下:
Html.BeginForm(new{action="action",controller="actroller",id="2"});
在上述代碼中,設置了路由值的一個實例化對象,輸出的HTML語句是:
復制代碼 代碼如下:
form action="actroller/action/2" method="post"/
對于最后一個第十三個方法的最后一個參數是實例化對象設置相關屬性的值例如class,width等。(2)BeginRouteForm (主要實現表單定義的開始部分,以路由的方法設置action的值)有12個重載方法:
BeginRouteForm(object routeValues);BeginRouteForm(RouteValueDictionary routeValues);BeginRouteForm(string routeName);BeginRouteForm(string routeName,object routeValues);BeginRouteForm(string routeName,RouteValueDictionary routeValues);BeginRouteForm(string routeName,FormMethod method);BeginRouteForm(string routeName,object routeValues,FormMethod method);……對于第一個重載方法:
復制代碼 代碼如下:
Html.BeginRouteForm(new {action="action"});
復制代碼 代碼如下:
form action="Home/action" method="post"/ Home是頁面所在的目錄
BeginForm與BeginRouteForm的區別就在于第一個的action是action第二個的action是Home/action(3)EndForm(實現表單的定義的結束部分)
復制代碼 代碼如下:
Html.EndForm();
相當于 /Form 二.InputExtensions類有5種類型的擴展方法,可在視圖中設置checkBox,hidden,password,radioButton,textBox控件。(1)CheckBox 實現復選框控件有6個重載方法CheckBox(string name);CheckBox(string name,bool isChecked);CheckBox(string name,bool isChecked,object htmlAttributes);CheckBox(string name,object htmlAttributes);CheckBox(string name,Idictionary string,object htmlAttributes);CheckBox(string name,bool isChecked,Idictionary string,object htmlAttributes);設置復選框的實現代碼:
復制代碼 代碼如下:
%=Html.BeginForm("CheckBox","Home") %
fieldset
legend 設置字體: /lengend
%=Html.CheckBox("MyCheckBox1",true,new{id="checkBox1"})%
label for="checkBox1" 黑體 /label
%=Html.CheckBox("MyCheckBox2",false,new{id="checkBox2"})%
label for="checkBox1" 斜體 /label
br/ br/
input type="submit" value="Submit"/
/fieldset
%Html.EndForm();%
運行上述代碼,上述復選框的設置代碼對應的HTML語句:
復制代碼 代碼如下:
input checked="checked" id="checkBox1" name="MyCheckBox1" type="CheckBox" value="true"/
input name="MyCheckBox1" type="hidden" value="false"/
input id="checkBox2" name="MyCheckBox2" type="CheckBox" value="false"/
input name="MyCheckBox2" type="hidden" value="false"/
在后臺檢索checkBox
復制代碼 代碼如下:
public ActionResult CheckBox (FormCollection formCollection)
{
bool MyCheckBox1=formCollection[0].Contains("true");//檢索第一個復選框是否被選中
bool MyCheckBox2=formCollection["MyCheckBox2"].Contains("true");//檢索名字是MyCheckBox2的復選框是否倍選中
ViewData["CheckBox1"]=MyCheckBox1;
ViewData["CheckBox2"]=MyCheckBox2;
return View();
}
(2)Hidden 表單中的隱藏數值,有4個重載方法。Hidden(string name);Hidden(string name,object value);Hidden(string name,object value,object htmlAttributes);Hidden(string name,object value,Idictionary string,object htmlAttributes);eg:
復制代碼 代碼如下:
Html.Hidden("testName");
對應輸出的Html語句如下:
復制代碼 代碼如下:
input id="testName" name="testName" type="hidden" value=""/
(3)Password 主要是輸入密碼的文本框,有4個重載方法。Hidden(string name);Password (string name,object value);Password (string name,object value,object htmlAttributes);Password (string name,object value,Idictionary string,object htmlAttributes);eg:
復制代碼 代碼如下:
Html.Password ("MyPwd");
對應輸出的Html語句如下:
復制代碼 代碼如下:
input id="MyPwd" name="MyPwd" type="password" /
--------------------------------------------------------------------------------------------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
復制代碼 代碼如下:
%=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" type="text" value="Beverages" /
input id="input3" name="input3" type="text" value="" /
input id="CategoryName" name="CategoryName" 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 { @ }) %
%=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 id="chk1" name="chk1" type="checkbox" value="true" / input name="chk1" type="hidden" value="false" /
input checked="checked" 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 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"); %
看清楚了沒有等號的。更多編程語言

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品视频免费网站 | 大学生a级毛片免费视频 | 国产精品久久国产精品 | 久久久成人精品视频 | 亚洲欧美日韩一区二区三区在线观看 | 黄色久 | 黄色网址进入 | 日韩视频在线视频 | 成人毛片免费在线 | 九九综合九九 | 国产高潮失禁喷水爽到抽搐视频 | 毛片毛片免费看 | 欧美一级黄视频 | 欧美成人免费在线视频 | 亚洲精品一区中文字幕 | 亚洲最大的成人网 | 亚州精品天堂中文字幕 | 92看片淫黄大片一级 | 精品国产一区二区三区在线 | 成人国产精品一区二区毛片在线 | 毛片视频网站在线观看 | 日本在线国产 | 舌头伸进添的我好爽高潮网站 | 99999久久久久久 | 精品国产呦系列在线看 | 精品久久久久久综合日本 | 在线高清中文字幕 | 综合97 | 欧美18—19sex性护士中国 | 一级黄色影片在线观看 | 小雪奶水翁胀公吸小说最新章节 | 最新黄色电影网站 | 玖玖视频精品 | 国产一级性生活视频 | 精品爱爱| 男女羞羞在线观看 | 大学生一级毛片在线视频 | hd极品free性xxx一护士 | 亚洲男人天堂 | 欧美 日韩 亚洲 中文 | 午夜视频久久 |