亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

asp.net core新特性之TagHelper標(biāo)簽助手

 更新時(shí)間:2017年07月11日 14:23:26   作者:BillMing  
這篇文章主要為大家詳細(xì)介紹了asp.net core新特性之TagHelper標(biāo)簽助手的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

今天開始,我就來說說asp.net core的新特性,今天就說說TagHelper標(biāo)簽助手。雖然學(xué)習(xí).net,最有幫助的就是microsoft的官方說明文檔了,里面把一些使用說明都寫的非常清楚,但奈何.net core放入文檔微軟還沒來得及翻譯,對(duì)于英文不好的人來說簡直就是看的艱辛。所以今天就來學(xué)習(xí)學(xué)習(xí)這標(biāo)簽助手,和博客園大佬分享分享經(jīng)驗(yàn)。

  想看Microsoft官方文檔和Git項(xiàng)目的可以直接點(diǎn)擊以下傳送門~~

  asp.net core 官方文檔

  asp.net core github項(xiàng)目

  說起TagHelper給我的印象,有點(diǎn)像asp.net form當(dāng)中的服務(wù)器端控件,又有點(diǎn)像Angular或者Vue當(dāng)中的“組件”的后端實(shí)現(xiàn)版本。用戶可以將一組html標(biāo)簽集合轉(zhuǎn)換為一個(gè)自定義標(biāo)簽,實(shí)現(xiàn)了html代碼的復(fù)用。

  那么正文開始~~

  首先,我們需要安裝一個(gè)vs2017插件:Razor Language Services。這個(gè)插件能在html中智能提示用戶自定義的標(biāo)簽助手。

  https://marketplace.visualstudio.com/items?itemName=ms-madsk.RazorLanguageServices

創(chuàng)建一個(gè)asp.net core項(xiàng)目

使用微軟定義的標(biāo)簽助手,在安裝了插件后,使用標(biāo)簽助手的標(biāo)簽會(huì)進(jìn)行高亮顯示

上圖中environment、link、a標(biāo)簽均使用了標(biāo)簽助手實(shí)現(xiàn)各自的功能

<a asp-area="" asp-controller="Home" asp-action="Index" class="navbar-brand">taghelpersample</a>

a標(biāo)簽中通過使用asp-controller,asp-action自定義屬性來實(shí)現(xiàn)路由訪問。

這時(shí)有人會(huì)說,我也可以使用@Html類來實(shí)現(xiàn)相同功能,為什么需要使用TagHelper?

@Html.ActionLink("taghelpersample", "Index", "Home",null, new { Class = "navbar-brand" })

確實(shí),使用@Html幫助類我們能實(shí)現(xiàn)相同的功能,但是使用標(biāo)簽助手的方式不是更加符合html的標(biāo)簽語法嗎,對(duì)于強(qiáng)迫癥程序員簡直就是福音~~。而且對(duì)于標(biāo)簽的原有屬性的添加例如class,標(biāo)簽助手的使用也更加方便。

<!--標(biāo)簽助手版form-->
<form asp-controller="Home" asp-action="Index" class="form-horizontal" method="post">

</form>
<!--Html幫助類版form-->
@using (Html.BeginForm("Index", "Home", FormMethod.Post,, new { Class = "form-horizontal" }))
{

}


此外,標(biāo)簽助手的另外一個(gè)特色就是可以自定義,具體步驟如下:

(1)創(chuàng)建派生自TagHelper類的Class

 //類會(huì)默認(rèn)轉(zhuǎn)換為<text-collection></text-collection>
   public class TextCollectionTagHelper:TagHelper
 {
  public override void Process(TagHelperContext context, TagHelperOutput output)
  {
   base.Process(context, output);
  }
 }


(2)設(shè)置屬性與基本類

public string Color { get; set; }

  public override void Process(TagHelperContext context, TagHelperOutput output)
  {
   output.TagName = "div";
   output.Attributes.Add("style", "color:" + Color);
   var text = "Hello,World";
   var h1 = new TagBuilder("h1");
   var h2 = new TagBuilder("h2");
   var h3 = new TagBuilder("h3");
   var h4 = new TagBuilder("h4");
   var h5 = new TagBuilder("h5");
   var h6 = new TagBuilder("h6");
   h1.InnerHtml.Append(text);
   h2.InnerHtml.Append(text);
   h3.InnerHtml.Append(text);
   h4.InnerHtml.Append(text);
   h5.InnerHtml.Append(text);
   h6.InnerHtml.Append(text);
   output.Content.AppendHtml(h1);
   output.Content.AppendHtml(h2);
   output.Content.AppendHtml(h3);
   output.Content.AppendHtml(h4);
   output.Content.AppendHtml(h5);
   output.Content.AppendHtml(h6);
  }


(3)在_ViewImports.cshtml導(dǎo)入類命名空間

@addTagHelper *,taghelpersample

(4)在cshtml中使用標(biāo)簽助手

<text-collection color="red"></text-collection>
<text-collection color="blue"></text-collection>
<text-collection color="#666"></text-collection>

(5)調(diào)試效果

OK,今天關(guān)于TagHelper就分享到這。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • ASP.NET全棧開發(fā)教程之前后臺(tái)校驗(yàn)結(jié)合詳解

    ASP.NET全棧開發(fā)教程之前后臺(tái)校驗(yàn)結(jié)合詳解

    這篇文章主要給大家介紹了關(guān)于ASP.NET全棧開發(fā)教程之前后臺(tái)校驗(yàn)結(jié)合的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • 當(dāng)年學(xué)習(xí)ADO.NET的筆記

    當(dāng)年學(xué)習(xí)ADO.NET的筆記

    那些年學(xué)習(xí)了ASP.NET后又開始學(xué)習(xí)ASP.NET的新知識(shí),ADO.NET用于訪問數(shù)據(jù)庫,一般可以分為連接模式和非連接模式
    2012-03-03
  • .NET Core實(shí)現(xiàn)企業(yè)微信獲取部門成員

    .NET Core實(shí)現(xiàn)企業(yè)微信獲取部門成員

    這篇文章介紹了.NET Core實(shí)現(xiàn)企業(yè)微信獲取部門成員的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • ASP.NET筆記之廣告控件的使用方法

    ASP.NET筆記之廣告控件的使用方法

    本篇文章小編為大家介紹,ASP.NET筆記之廣告控件的使用方法,需要的朋友參考下
    2013-04-04
  • ASP.NET防范SQL注入式攻擊的方法

    ASP.NET防范SQL注入式攻擊的方法

    所謂SQL注入式攻擊,就是攻擊者把SQL命令插入到Web表單的輸入域或頁面請(qǐng)求的查詢字符串,欺騙服務(wù)器執(zhí)行惡意的SQL命令,那么在ASP.NET中如何防范SQL注入式攻擊,下文為大家揭曉
    2016-05-05
  • 二級(jí)域名Cookie問題的解決方法

    二級(jí)域名Cookie問題的解決方法

    今天博客園全面采用二級(jí)域名后,發(fā)現(xiàn)即使用戶已經(jīng)登錄,但在訪問二級(jí)域名Blog頁面時(shí)都顯示沒有登錄(表現(xiàn)為發(fā)表評(píng)論時(shí)要求輸入驗(yàn)證碼, 收藏功能無法正常使用),再次登錄后,進(jìn)入其他二級(jí)域名還是需要登錄。
    2008-10-10
  • SQL通用存儲(chǔ)過程分頁,支持多表聯(lián)合

    SQL通用存儲(chǔ)過程分頁,支持多表聯(lián)合

    以前用.net寫分頁存儲(chǔ)過程時(shí)老是一張表就要寫一個(gè)procedure.很忙煩.后來有空就整合了一下,做了一個(gè)通用的sql分頁存儲(chǔ),支持多表聯(lián)合查詢分頁.寫的不好的地方,希望大鳥們多多指導(dǎo).使的查詢速度更快.
    2011-11-11
  • asp.net 數(shù)組中字符串替換的幾種方式

    asp.net 數(shù)組中字符串替換的幾種方式

    數(shù)組中字符串替換的幾種方式,需要用到的朋友可以參考下。
    2009-06-06
  • VS2017添加EF的MVC控制器報(bào)錯(cuò)的解決方法

    VS2017添加EF的MVC控制器報(bào)錯(cuò)的解決方法

    這篇文章主要為大家詳細(xì)介紹了VS2017添加EF的MVC控制器報(bào)錯(cuò)的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • asp.net XMLHttpRequest實(shí)現(xiàn)用戶注冊(cè)前的驗(yàn)證

    asp.net XMLHttpRequest實(shí)現(xiàn)用戶注冊(cè)前的驗(yàn)證

    用戶注冊(cè)前的驗(yàn)證,提高用戶體驗(yàn)。
    2009-10-10

最新評(píng)論