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

首頁 > 編程 > .NET > 正文

ASP.NET MVC HtmlHelper如何擴展

2024-07-10 13:30:26
字體:
來源:轉載
供稿:網友
ASP.NET MVC 中HtmlHelper方法為我們提供很多html標簽,只需在頁面調用就行了,但是微軟并沒有把所有的html標簽都對應有了擴展方法,需要我們自定義HtmlHelper,來滿足我們需要。
 

一、ASP.NET 擴展方法三要素

(1)、靜態類

可以從下圖看出,InputExtension首先是一個靜態類;

(2)、靜態方法

既然是靜態類,那么其所有的方法必然都是靜態方法,例如:public static MvcHtmlString CheckBox();

(3)、this關鍵字

可以從方法名定義中看出,第一個參數都是this HtmlHelper htmlHelper,代表對HtmlHelper類的擴展;

二、通過 MVC  HtmlHelper擴展 實例簡單說明擴展步驟

實例1、擴展Submit

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;namespace TestMvcHelper{  public static class HtmlExtensions  {    public static MvcHtmlString Submit(this HtmlHelper helper, string value)    {      var builder = new TagBuilder("input"); //使我們創建的標簽名字設為input      builder.MergeAttribute("type", "submit"); //添加屬性 type="submit"      builder.MergeAttribute("value", value);      return MvcHtmlString.Create(builder.ToString(TagRenderMode.SelfClosing));     }  }}

上述實例說明

(1)、在使用TagBuilder需要引入命名空間System.Web.Mvc。
(2)、Submit方法名是對應視圖中調用的名稱。 (如:@Html.Submit("提交") )
(3)、this HtmlHelper

helper 將Submit方法添加到HtmlHelper中,value是傳過來的提交按鈕上的文字。
(4)、var builder = new TagBuilder("input");     

設置標簽名字設為input。
(5)、builder.MergeAttribute("type", "submit")  

設置標簽屬性type="submit"。
(6)、builder.MergeAttribute("value", value);     

設置標簽提交按鈕Value值。
(7)、TagRenderMode.SelfClosing                    

表示用于呈現自結束標記(例如,<input />)的模式。
(8)、TagRenderMode是個枚舉類,分別為

Normal(表示用于呈現正常文本的模式)

StartTag(表示用于呈現開始標記(例如,<tag>)的模式)

EndTag(表示用于呈現結束標記(例如,</tag>)的模式)

SelfClosing(表示用于呈現自結束標記(例如,<tag />)的模式)。
(9)、MvcHtmlString作為返回值是為了使返回值不被轉義,比如"<"不會被轉成"<"。

View中調用

@Html.Submit("提交")

實例2、擴展超鏈接

http://www.CodeHighlighter.com/--> 1 /// <summary>/// 帶描述的鏈接擴展方法/// </summary>/// <param name="htmlHelper">要擴展的HtmlHelper類</param>/// <param name="title">標題</param>/// <param name="url">鏈接地址</param>/// <param name="description">描述</param>/// <returns>HTML代碼</returns>public static MvcHtmlString LinkWithDescription(this HtmlHelper htmlHelper, string title, string url, string description){  // 生成與標題鏈接有關的HTML代碼  TagBuilder titleContainer = new TagBuilder("p");  // 標題鏈接容器p  TagBuilder titleLink = new TagBuilder("a");  // 標題中的文字要有鏈接,所以包含在a標簽內  titleLink.MergeAttribute("href", url);  // 為a添加href屬性并指定鏈接地址  titleLink.SetInnerText(title);  // 標題文字  titleContainer.InnerHtml = titleLink.ToString();  // 將a放到p中  titleContainer.AddCssClass("LinkTitle");  // 為標題添加樣式  // 生成與鏈接描述有關的HTML代碼  TagBuilder descriptionContainer = new TagBuilder("p");  // 連接描述容器p  descriptionContainer.InnerHtml = description;  // 描述文字  descriptionContainer.AddCssClass("LinkDescription");  // 為描述添加樣式  // 將上述元素放入一個DIV中  TagBuilder div = new TagBuilder("div");  div.InnerHtml = string.Format("{0}{1}", titleContainer.ToString(), descriptionContainer.ToString());  // 返回生成的HTML代碼  return MvcHtmlString.Create(div.ToString());}

視圖中調用

@Html.LinkWithDescription("測試鏈接1""#""這是測試鏈接1的描述")



注:相關教程知識閱讀請移步到ASP.NET教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91色p视频在线| 另类色图亚洲色图| 成人免费直播live| 91国产精品视频在线| 欧美精品一本久久男人的天堂| 久久色在线播放| 91免费电影网站| 久久久久久久久电影| 日日骚av一区| 日韩中文在线不卡| 国产精品视频自在线| 日韩亚洲欧美中文在线| 日韩网站免费观看高清| 亚洲午夜性刺激影院| 亚洲美女视频网站| 最新日韩中文字幕| 精品久久国产精品| 国内精品久久久久久久久| 91日本在线观看| 欧美日韩国产精品| 亚洲理论片在线观看| 久久成年人免费电影| 国产精品av网站| 国语自产精品视频在线看| 日韩亚洲欧美成人| 中文字幕日韩欧美在线视频| 91高清免费在线观看| 日韩黄在线观看| 富二代精品短视频| 欧美做受高潮1| 日本成人免费在线| 成人免费视频网址| 久久成人在线视频| 奇米一区二区三区四区久久| 日韩成人av一区| 一区二区三区日韩在线| 欧美精品亚州精品| 欧美精品videofree1080p| 91精品一区二区| 国产一区二区三区高清在线观看| 日韩av网站大全| 国产精品一区二区三区久久久| 久久久久女教师免费一区| 韩国一区二区电影| 亚洲a在线观看| 国产99久久久欧美黑人| 国产精品久久久久久久9999| 91wwwcom在线观看| 日韩免费中文字幕| 亚洲国产精品字幕| 欧美xxxx18国产| 日韩精品免费在线视频| 亚洲欧美日韩高清| 日韩av毛片网| 欧美日韩精品在线观看| 国产精品在线看| 亚洲国产又黄又爽女人高潮的| 81精品国产乱码久久久久久| 亚洲国产欧美一区| 在线成人免费网站| 日韩最新免费不卡| 国产成人精彩在线视频九色| 美日韩在线视频| 久久久精品一区二区三区| 91久久久久久久久久久| 美女福利视频一区| 国产精品久久久久久av| 欧美亚洲在线观看| 欧美成人精品在线视频| 日本精品久久中文字幕佐佐木| 欧美精品www| 中文字幕亚洲激情| 日韩中文字幕精品视频| 成人亚洲激情网| 日韩女优人人人人射在线视频| 国产精品一区二区性色av| 成人精品久久久| 中文一区二区视频| 91亚洲精品视频| 日本高清不卡的在线| 欧美影院久久久| 国产国产精品人在线视| 日韩在线观看免费高清| 国产综合在线观看视频| 日韩精品在线看| 91av在线精品| 国产综合视频在线观看| 欧美午夜视频在线观看| 久久人人爽人人爽爽久久| 欧美日韩中文字幕在线| 亚洲精品中文字幕女同| 久久精品电影一区二区| 亚洲福利视频专区| 精品自拍视频在线观看| 成人免费在线网址| 亚洲精品国产美女| 国产日韩精品在线播放| 亚洲综合色av| 久久久国产91| 亚洲欧洲偷拍精品| 欧美福利小视频| 欧美高清不卡在线| 日本欧美国产在线| 一区二区成人av| 日韩在线视频中文字幕| 国产一区二区三区在线播放免费观看| 成人性生交大片免费观看嘿嘿视频| 亚洲人成在线观看| 亚洲自拍偷拍一区| 成人黄色免费在线观看| 成人福利在线观看| 成年无码av片在线| 精品久久久久久国产91| 欧美激情乱人伦一区| 国产精品观看在线亚洲人成网| 亚洲最大的av网站| 亚洲视频一区二区| 色一情一乱一区二区| 日韩免费观看在线观看| 欧美激情小视频| 国产一区二区视频在线观看| 欧美猛少妇色xxxxx| 日韩成人在线视频| 久久香蕉国产线看观看av| 久久综合色88| 日韩欧美在线视频| 欧美综合第一页| xvideos亚洲| 黄色精品一区二区| 欧美黑人性生活视频| 91tv亚洲精品香蕉国产一区7ujn| 欧美精品一区二区免费| 国产一区二区在线免费视频| 国产福利视频一区二区| 一本色道久久88综合日韩精品| 色综合天天狠天天透天天伊人| 亚洲综合色激情五月| 久久网福利资源网站| 日韩精品免费在线视频观看| 亚洲美女www午夜| 久久五月天色综合| 成人h片在线播放免费网站| 成人乱人伦精品视频在线观看| 亚洲自拍偷拍第一页| 国产精品亚洲综合天堂夜夜| 亚洲一区久久久| 国产成人精品最新| 日韩精品在线视频观看| 亚洲成**性毛茸茸| 国产精品视频久久久久| 亚洲自拍av在线| 色诱女教师一区二区三区| 国产日韩欧美成人| 欧美国产第一页| 国产一区二区三区在线视频| 亚洲va男人天堂| 欧美激情a∨在线视频播放| 日韩二区三区在线| 国产日韩一区在线| 久久伊人精品视频| 久久精品视频亚洲| 精品偷拍一区二区三区在线看| 久热精品视频在线免费观看| 91免费综合在线|