亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .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"); %
看清楚了沒有等號的。更多編程語言

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩国产中文字幕| 欧美中文在线免费| 91香蕉嫩草影院入口| 亚洲电影免费观看高清完整版在线观看| 亚洲天堂成人在线| 色悠悠国产精品| 日韩欧美中文字幕在线观看| 亚洲一二三在线| 亚洲精选中文字幕| 日韩精品在线免费观看视频| 日韩动漫免费观看电视剧高清| 91精品久久久久久久久| 9.1国产丝袜在线观看| 红桃视频成人在线观看| 欧洲成人在线视频| 国产99久久精品一区二区| 欧美精品在线看| 日韩视频在线免费| 国产精品尤物福利片在线观看| 美女扒开尿口让男人操亚洲视频网站| 日韩欧美福利视频| 精品亚洲一区二区三区在线播放| 久99久在线视频| 日韩av在线网| 色午夜这里只有精品| 色综合视频一区中文字幕| 国产精品三级久久久久久电影| 欧美日韩视频免费播放| 国产精品久久久久久久久免费看| 欧美日韩激情美女| 国模私拍视频一区| 亚洲男人天天操| 国产精品欧美风情| 992tv在线成人免费观看| 精品久久久久久久久久ntr影视| 2019中文字幕全在线观看| 国产日韩av在线| 日韩在线观看电影| 亚洲v日韩v综合v精品v| 国产亚洲欧洲在线| 黄网站色欧美视频| 91久久精品国产| 91精品视频网站| 久久国产加勒比精品无码| 欧美激情精品久久久久久免费印度| 亚洲少妇中文在线| 69久久夜色精品国产69| 色爱av美腿丝袜综合粉嫩av| 搡老女人一区二区三区视频tv| 国产精品午夜一区二区欲梦| 操91在线视频| 欧美色视频日本高清在线观看| 亚洲一区二区三区毛片| 日本午夜人人精品| 久久成人18免费网站| 日韩在线观看免费网站| 欧美精品免费在线| 欧美香蕉大胸在线视频观看| 日韩欧美中文字幕在线观看| 欧美色视频日本版| 日韩av免费在线播放| 色综合老司机第九色激情| 热久久99这里有精品| 欧美日本在线视频中文字字幕| 国产精品美女免费看| 91精品国产高清自在线看超| 久久视频国产精品免费视频在线| 欧美性xxxxxxx| 日韩电影中文字幕一区| 久久久91精品国产一区不卡| 欧美激情综合亚洲一二区| 日韩在线精品视频| 国产精品亚洲自拍| 欧美国产亚洲视频| 亚洲免费伊人电影在线观看av| 亚洲午夜av久久乱码| 日本一本a高清免费不卡| 中文字幕av一区| 亚洲精品网址在线观看| 欧美激情高清视频| 日韩中文字幕视频在线观看| 亚洲国产成人在线视频| 78色国产精品| 亚洲成人激情在线观看| 日韩电影免费在线观看中文字幕| 亚洲全黄一级网站| 欧美性猛xxx| 在线激情影院一区| 久久伊人免费视频| 欧美日韩中国免费专区在线看| 奇门遁甲1982国语版免费观看高清| 亚洲人在线视频| 亚洲欧美在线播放| 久久精品视频网站| 日韩视频免费在线| 亚洲欧美日韩另类| 亚洲石原莉奈一区二区在线观看| 国产精品久久久久国产a级| 91精品视频网站| 国产精品ⅴa在线观看h| 久久激情视频久久| 国产精品自拍小视频| 日韩网站免费观看高清| 久久综合九色九九| 亚洲国产成人精品一区二区| 国产精品自拍小视频| 亚洲成色999久久网站| 欧美激情手机在线视频| 68精品久久久久久欧美| 成人一区二区电影| 成人黄色在线观看| 黑人狂躁日本妞一区二区三区| 国产一区二区日韩精品欧美精品| 亚洲天堂av综合网| 中文字幕亚洲一区在线观看| 成人激情视频在线观看| 亚洲第一精品夜夜躁人人躁| 亚洲a在线播放| 不卡中文字幕av| 91爱视频在线| 精品国产31久久久久久| 色爱精品视频一区| 日韩欧美中文字幕在线播放| 91九色视频在线| 久久精品视频在线| 精品国产一区二区在线| 91夜夜未满十八勿入爽爽影院| 另类天堂视频在线观看| 亚洲欧美日韩直播| 国产成人一区二区三区小说| 国产精品6699| 国产欧美在线看| 亚洲精品视频免费| x99av成人免费| 欧美亚洲另类激情另类| 精品无码久久久久久国产| 久久久人成影片一区二区三区观看| 国产精品爽爽爽| 国产欧美婷婷中文| 中文字幕欧美日韩va免费视频| 国产精品伦子伦免费视频| 欧美xxxwww| 最近2019免费中文字幕视频三| 久久久亚洲网站| 亚洲新中文字幕| 久久久久999| 91亚洲精品在线| 国产日本欧美在线观看| 亚洲天堂网在线观看| 精品亚洲一区二区三区在线观看| 日韩精品在线免费观看视频| 亚洲一区二区少妇| 日韩中文字幕在线看| 日韩精品一二三四区| 日韩最新中文字幕电影免费看| 国产xxx69麻豆国语对白| 91久久国产综合久久91精品网站| 日本高清久久天堂| 国产精品尤物福利片在线观看| 欧美在线亚洲一区| 亚洲精品视频久久| 国产精品免费久久久久久| 亚洲黄一区二区| 国产精品久久久久久一区二区|