• <sub id="xcyjv"></sub><nav id="xcyjv"><code id="xcyjv"><meter id="xcyjv"></meter></code></nav>
      <nav id="xcyjv"></nav>
    1. <form id="xcyjv"><th id="xcyjv"></th></form><nav id="xcyjv"><mark id="xcyjv"></mark></nav>

        asp.net core razor自定義taghelper的方法

         更新時間:2019年09月18日 16:08:36   作者:馮輝   我要評論
        這篇文章主要介紹了asp.net core razor自定義taghelper的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

        又一個新的名詞(taghelper),通過taghelper是可以操作html標簽、條件輸出、更是自由添加內外元素。當然也內置了挺多的asp-開頭的taghelper。

        下面文章中也簡單的帶大家實現一個taghelper;

        創建自定義html元素

        創建一個類ButtonTagHelper

        tagName為標簽名稱,下面創建一個button標簽

        using Microsoft.AspNetCore.Razor.TagHelpers;
        namespace Ctrl.Core.Tag.Controls.Button
        {
          [HtmlTargetElement("test-button")]
          public class ButtonTagHelper:TagHelper
          {
            public override void Process(TagHelperContext context, TagHelperOutput output)
            {
              output.TagName = "button";
              base.Process(context, output);
            }
          }
        }

        注冊taghelper

        創建完后可沒法執行使用哦,在.cshtml通過某個標簽比如form標簽輸入asp-,下面立刻就出現了一個列表 asp-.... ,這些是怎么做到的呢?因為在_ViewImports在我們創建項目工程時,已經提前引入了taghelper默認引入的是微軟已經為我們寫好的taghelper類庫Microsoft.AspNetCore.Mvc.TagHelpers;

        我們自定義的話也需要按照這個方式引入自定義的taghelper,下面我自己創建了一個類庫名字為"Ctrl.Core.Tag",我這個類庫下面要存放所有的taghelper 我直接引入命名空間

        @addTagHelper *,Ctrl.Core.Tag

        如果想引入特定的taghelper如下

        @addTagHelper 你的TagHelper , 命名空間

        然后我們測試一下是否可用了,先生成一下項目,然后找個cshtml視圖,輸入剛才的前綴test會出來剛才定義的標簽

        添加上并運行項目查看剛才創建的button標簽是否存在

        添加自定義屬性

        上面需求是滿足不了我們日常需求的,下面我們再定義一個元素屬性

         output.Attributes.SetAttribute("class", "btn btn-primary");

        然后再打開頁面看效果就會看到class元素已經給加上了.

        using Microsoft.AspNetCore.Razor.TagHelpers;
        namespace Ctrl.Core.Tag.Controls.Button
        {
          [HtmlTargetElement("test-button")]
          public class ButtonTagHelper:TagHelper
          {
            public override void Process(TagHelperContext context, TagHelperOutput output)
            {
              output.TagName = "button";
              output.Attributes.SetAttribute("class", "btn btn-primary");
              base.Process(context, output);
            }
          }
        }

        通過vs感知匹配按鈕類型

        上面能滿足我們自定義標簽了,但是可能使用起來有局限性,下面我給大家提供一個場景思路,后面大家可以自己進行擴展.

        我創建一個枚舉類為 CtrlButtonType

        namespace Ctrl.Core.Tag.Controls.Button
        {
          /// <summary>
          ///   按鈕類型
          /// </summary>
          public enum CtrlButtonType
          {
            /// <summary>
            /// 默認樣式
            /// </summary>
            Default,
            /// <summary>
            ///   首選項
            /// </summary>
            Primary,
            /// <summary>
            ///   成功
            /// </summary>
            Success,
            /// <summary>
            /// 一般信息
            /// </summary>
            Info,
            /// <summary>
            /// 警告
            /// </summary>
            Warning,
            /// <summary>
            /// 危險
            /// </summary>
            Danger
          }
        }

        在buttonTagHelper類中增加一個屬性

        public CtrlButtonType ButtonType { get; set; }

        到cshtml中添加剛才那個頁面的屬性,會發現有提示,以及可以看到剛才枚舉中定義的.這樣通過vs感知以及通過類型指定我們剛才按鈕的類型是不是很方面了.

        namespace Ctrl.Core.Tag.Controls.Button
        {
          [HtmlTargetElement("test-button")]
          public class ButtonTagHelper:TagHelper
          {
            public CtrlButtonType ButtonType { get; set; }
            public override void Process(TagHelperContext context, TagHelperOutput output)
            {
              output.TagName = "button";
              output.Attributes.SetAttribute("class", "btn btn-"+ButtonType.ToString().ToLower());
              base.Process(context, output);
            }
          }
        }
        <test-button button-type="Success"></test-button>

        總結

        以上所述是小編給大家介紹的asp.net core razor自定義taghelper,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
        如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

        相關文章

        最新評論

        01彩票网app
      1. <sub id="xcyjv"></sub><nav id="xcyjv"><code id="xcyjv"><meter id="xcyjv"></meter></code></nav>
          <nav id="xcyjv"></nav>
        1. <form id="xcyjv"><th id="xcyjv"></th></form><nav id="xcyjv"><mark id="xcyjv"></mark></nav>
            朔州 | 阿拉尔 | 铜陵 | 南通 | 惠东 | 黄石 | 昭通 | 毕节 | 宜宾 | 上饶 | 河池 | 泗洪 | 海丰 | 甘南 | 内蒙古呼和浩特 | 昌吉 | 吐鲁番 | 雅安 | 肇庆 | 遵义 | 江苏苏州 | 琼中 | 塔城 | 齐齐哈尔 | 湛江 | 鄂州 | 台北 | 延边 | 河池 | 贵州贵阳 | 瓦房店 | 徐州 | 海拉尔 | 滨州 | 西藏拉萨 | 黄石 | 宜昌 | 常州 | 芜湖 | 宁国 | 江西南昌 | 阳泉 | 德清 | 淮南 | 宜昌 | 阿拉尔 | 神木 | 曲靖 | 象山 | 大同 | 江西南昌 | 吉林长春 | 云南昆明 | 资阳 | 灌云 | 金昌 | 甘南 | 海南海口 | 澳门澳门 | 南充 | 宁德 | 文昌 | 云南昆明 | 廊坊 | 义乌 | 琼中 | 海门 | 晋城 | 迪庆 | 枣阳 | 荆州 | 蓬莱 | 锡林郭勒 | 延边 | 铜陵 | 新乡 | 高密 | 克拉玛依 | 黔南 | 邵阳 | 三明 | 遵义 | 天水 | 抚顺 | 锡林郭勒 | 巢湖 | 绵阳 | 汉川 | 南京 | 吉安 | 保山 | 大丰 | 浙江杭州 | 十堰 | 盘锦 | 滨州 | 扬中 | 日喀则 | 三亚 | 宜昌 | 安岳 | 灌南 | 云浮 | 中山 | 宿州 | 吐鲁番 | 承德 | 五家渠 | 阿克苏 | 信阳 | 临汾 | 神农架 | 武威 | 任丘 | 仙桃 | 嘉善 | 定州 | 株洲 | 牡丹江 | 广汉 | 七台河 | 随州 | 天门 | 钦州 | 锡林郭勒 | 台北 | 正定 | 金昌 | 象山 | 诸暨 | 文昌 | 博尔塔拉 | 吕梁 | 平潭 | 大同 | 桓台 | 防城港 | 温州 | 抚州 | 葫芦岛 | 吉林长春 | 毕节 | 绥化 | 通化 | 双鸭山 | 泰安 | 澄迈 | 泉州 | 顺德 | 东莞 | 珠海 | 南阳 | 东海 | 呼伦贝尔 | 吉安 | 克拉玛依 | 自贡 | 三沙 | 阳江 | 阿里 | 仁怀 | 禹州 | 桓台 | 明港 | 南京 | 诸城 | 周口 | 北海 | 淄博 | 醴陵 | 东方 | 大兴安岭 | 大庆 | 武夷山 | 楚雄 | 湖南长沙 | 鹰潭 | 云南昆明 | 保山 | 延边 | 保定 | 台中 | 嘉兴 | 诸暨 | 连云港 | 黄冈 | 如皋 | 晋城 | 来宾 | 本溪 | 图木舒克 | 曲靖 | 宿州 | 万宁 | 朝阳 | 雄安新区 | 浙江杭州 | 慈溪 | 资阳 | 大兴安岭 | 潍坊 | 三门峡 | 白城 | 金昌 | 保定 | 威海 | 慈溪 | 洛阳 | 唐山 | 博尔塔拉 | 广州 | 赤峰 | 朔州 | 图木舒克 | 沧州 | 河源 | 贵州贵阳 | 汉中 | 莱州 | 辽宁沈阳 | 荆门 | 台山 | 自贡 | 正定 | 绵阳 | 大同 | 邹城 | 任丘 | 偃师 | 灌南 | 乌兰察布 | 菏泽 | 晋中 | 厦门 | 保定 | 泰安 | 昌吉 | 灌南 | 鄂尔多斯 | 九江 | 龙岩 | 台北 | 商丘 | 荆州 | 陵水 | 张家界 | 池州 | 邹平 | 如东 | 保亭 | 赣州 | 蓬莱 | 定西 | 晋中 | 永新 | 辽宁沈阳 | 大同 | 济宁 | 龙岩 | 临沂 | 阿克苏 | 无锡 | 贵港 | 包头 | 邯郸 | 丽水 | 荆州 | 余姚 | 通化 | 泗阳 | 汉川 | 厦门 | 东方 | 海宁 | 和田 | 江西南昌 | 泉州 | 吉林长春 | 江门 | 石河子 | 武夷山 | 南安 | 神农架 | 锡林郭勒 | 江西南昌 | 杞县 | 张掖 | 果洛 | 沧州 | 福建福州 | 荣成 | 酒泉 | 肥城 | 靖江 | 馆陶 | 新疆乌鲁木齐 | 池州 | 牡丹江 | 揭阳 | 张家口 | 通辽 | 广州 | 许昌 | 宜昌 | 朝阳 | 高密 | 大同 | 兴安盟 | 阿拉善盟 | 嘉峪关 | 玉林 | 郴州 | 嘉善 | 内蒙古呼和浩特 | 日喀则 | 定州 | 包头 | 延边 | 武安 | 林芝 | 大庆 | 神农架 | 正定 | 喀什 | 保山 | 三门峡 | 黄石 | 鹰潭 | 海拉尔 | 大连 | 张家界 | 三明 | 高密 | 安阳 | 巴音郭楞 | 桓台 | 东营 | 陇南 | 兴安盟 | 枣阳 | 珠海 | 抚顺 | 周口 | 禹州 | 长治 | 遵义 | 天水 | 福建福州 | 包头 | 抚顺 | 白沙 | 郴州 | 沧州 | 阿坝 | 灌南 | 庄河 | 澄迈 | 东营 | 荆门 | 莆田 | 伊犁 | 陇南 | 永州 | 澄迈 | 吐鲁番 | 信阳 | 昌都 | 聊城 | 淮北 | 金华 | 白银 | 枣庄 | 台湾台湾 | 惠东 | 广饶 | 德阳 | 白山 | 湘潭 | 湛江 | 兴化 | 顺德 | 庄河 | 无锡 | 醴陵 | 七台河 | 鹤壁 | 江苏苏州 | 湘潭 | 图木舒克 | 东营 | 邹平 | 绥化 | 曹县 | 克孜勒苏 | 鄂尔多斯 | 长葛 | 菏泽 | 和县 | 宜都 | 克拉玛依 | 明港 | 四平 | 库尔勒 | 白沙 | 沭阳 | 保亭 | 德宏 | 莆田 | 盘锦 | 义乌 | 杞县 | 抚顺 | 清徐 | 乌海 | 三门峡 | 巴彦淖尔市 | 泰安 | 呼伦贝尔 | 湖南长沙 | 公主岭 | 内蒙古呼和浩特 | 河北石家庄 | 邹城 | 仁寿 | 南京 | 沛县 | 新泰 | 文山 | 菏泽 | 哈密 | 秦皇岛 | 黄南 | 江苏苏州 | 涿州 | 武威 | 东营 | 平凉 | 台州 | 咸阳 | 陇南 | 邳州 | 安顺 | 大同 | 南安 | 靖江 | 秦皇岛 | 莱芜 | 岳阳 | 昭通 | 固原 | 南通 | 山东青岛 | 江门 | 简阳 | 怀化 | 江苏苏州 | 西双版纳 | 周口 | 金华 | 惠州 | 昭通 | 遵义 | 大兴安岭 | 淮安 | 临猗 | 长垣 | 遵义 | 济南 | 阜阳 | 安康 | 潮州 | 海拉尔 | 铁岭 | 巴中 | 金昌 | 鄂尔多斯 | 沛县 | 塔城 | 台南 | 澳门澳门 | 和田 | 荆门 | 自贡 | 晋江 | 宁国 | 宜昌 | 宝鸡 | 鹤壁 | 蚌埠 | 鄂尔多斯 | 嘉峪关 | 克拉玛依 | 铜陵 | 防城港 | 东台 | 洛阳 | 怀化 | 宁波 | 楚雄 | 鄂州 | 保定 | 怒江 | 潜江 | 楚雄 | 大兴安岭 | 阳春 | 曹县 | 泰州 | 百色 | 西双版纳 | 肇庆 | 晋城 | 琼中 | 丽水 | 文山 | 庆阳 | 沧州 | 新余 | 邢台 | 慈溪 | 宝应县 | 东莞 | 大庆 | 葫芦岛 | 图木舒克 | 琼海 | 大丰 | 永州 | 阿拉尔 | 鄂尔多斯 | 扬州 | 琼中 | 淮安 | 日照 | 广饶 | 阳江 | 兴安盟 | 河源 | 乌海 | 灌南 | 汝州 | 自贡 | 台山 | 海拉尔 | 甘南 | 泰安 | 聊城 | 德阳 | 北海 | 晋江 | 白山 | 东方 | 延安 | 怒江 | 南安 | 乐山 | 鞍山 | 玉树 | 金昌 | 昆山 | 天水 | 盘锦 | 荣成 | 乌兰察布 | 沭阳 | 余姚 | 洛阳 | 安顺 | 临沂 | 陕西西安 | 日喀则 | 南充 | 昭通 | 商洛 | 单县 | 临沧 | 三亚 | 澳门澳门 | 玉树 | 任丘 | 云南昆明 | 台北 | 肇庆 | 梅州 | 吉林长春 | 梧州 | 锦州 | 茂名 | 莱州 | 诸暨 | 怀化 | 陵水 | 公主岭 | 葫芦岛 | 宿州 | 菏泽 | 龙岩 | 青海西宁 | 吴忠 | 乌兰察布 | 鄂尔多斯 | 中卫 | 任丘 | 鹤壁 | 湖南长沙 | 安吉 | 曲靖 | 迪庆 | 吕梁 | 三门峡 | 东海 | 垦利 | 甘孜 | 永新 | 运城 | 阿拉尔 | 邯郸 | 鸡西 | 鹤岗 | 青州 | 包头 | 偃师 | 江门 | 潍坊 | 张家界 | 杞县 | 肥城 | 遵义 | 咸宁 | 抚州 | 黑龙江哈尔滨 | 黔南 | 吐鲁番 | 内蒙古呼和浩特 | 海南 | 濮阳 | 运城 | 湘潭 | 泰州 | 随州 | 扬州 | 克孜勒苏 | 九江 | 泰安 | 开封 | 肥城 | 中山 | 玉树 | 新乡 | 宜都 | 广安 | 江西南昌 | 广汉 | 双鸭山 | 赤峰 | 泰州 | 灵宝 | 长兴 | 鹤壁 | 东台 | 日照 | 玉林 | 德宏 | 湘潭 | 清徐 | 哈密 | 台中 | 明港 | 锡林郭勒 | 启东 | 海拉尔 | 潮州 | 抚州 | 辽阳 | 酒泉 | 七台河 | 高雄 | 宁波 | 惠东 | 咸阳 | 江门 | 新乡 | 万宁 | 澄迈 | 牡丹江 | 柳州 | 吐鲁番 | 开封 | 开封 | 贵州贵阳 | 怀化 | 吴忠 | 云南昆明 | 建湖 | 琼海 | 肇庆 | 廊坊 | 宜都 | 白山 | 孝感 | 单县 | 潜江 | 新泰 | 铜仁 | 松原 | 定西 | 菏泽 | 山东青岛 | 河北石家庄 | 天门 | 沧州 | 晋城 | 江西南昌 | 梅州 | 那曲 | 张北 | 日照 | 仙桃 | 儋州 | 简阳 | 巴音郭楞 | 邹平 | 五指山 | 兴安盟 | 嘉善 | 醴陵 | 项城 | 新疆乌鲁木齐 | 德清 | 酒泉 | 邯郸 | 崇左 | 乌兰察布 | 鄂尔多斯 | 孝感 | 佳木斯 | 宝应县 | 眉山 | 吉林 | 秦皇岛 | 常德 | 河南郑州 | 常州 | 韶关 | 张家口 | 安徽合肥 | 永新 | 乌海 | 榆林 | 溧阳 | 绍兴 | 丽江 | 福建福州 | 孝感 | 泰安 | 天门 | 汕尾 | 商丘 | 遵义 | 龙口 | 保定 | 资阳 | 资阳 | 眉山 | 锡林郭勒 | 黔东南 | 文山 | 淮南 | 菏泽 | 哈密 | 榆林 | 寿光 | 阳泉 | 中山 | 防城港 | 通辽 | 邯郸 | 昌都 | 晋城 | 衡水 | 新乡 | 昭通 | 恩施 | 江苏苏州 | 甘南 | 绍兴 | 姜堰 | 霍邱 | 东海 | 内江 | 大理 | 新疆乌鲁木齐 | 玉树 | 任丘 | 武安 | 万宁 | 盘锦 | 贵港 | 通化 | 东方 | 本溪 | 平顶山 | 随州 | 金华 | 长垣 | 泉州 | 黔西南 | 阿拉善盟 | 安阳 | 黄南 | 白银 | 延边 | 双鸭山 | 南京 | 锦州 | 广汉 | 泰兴 | 青州 | 白城 | 仁怀 | 德阳 | 大理 | 莒县 | 大同 | 海拉尔 | 沭阳 | 济宁 | 汕尾 | 惠东 | 台中 | 武夷山 | 改则 | 江门 | 神木 | 乐平 | 四川成都 | 通辽 | 兴化 | 桂林 | 黄石 | 吉林长春 | 商洛 | 禹州 | 保定 | 泰兴 | 邹平 | 沧州 | 余姚 | 贵港 | 东阳 | 海安 | 长治 | 九江 | 韶关 | 保定 | 通辽 | 大庆 | 莆田 | 大庆 | 青州 | 孝感 | 云南昆明 | 东莞 | 包头 | 随州 | 单县 | 惠州 | 揭阳 | 许昌 | 东营 | 库尔勒 | 东方 | 遵义 | 遂宁 | 阜新 | 遵义 | 枣阳 | 安徽合肥 | 乐山 | 济南 | 东阳 | 瓦房店 | 丽水 | 韶关 | 昌吉 | 澄迈 | 大同 | 白银 | 聊城 | 淮安 | 丽水 | 临沧 | 宜都 | 汝州 | 阿拉尔 | 灵宝 | 石河子 | 黔西南 | 玉环 | 如东 | 滁州 | 淮安 | 永新 | 吕梁 | 葫芦岛 | 台北 | 漳州 | 延边 | 琼海 | 梧州 | 和田 | 石河子 | 和田 | 三亚 | 长治 | 泰州 | 莒县 | 漯河 | 东方 | 吉林 | 新疆乌鲁木齐 | 东莞 | 改则 | 台湾台湾 | 塔城 | 嘉兴 | 昭通 | 云南昆明 | 山西太原 | 保定 | 四平 | 诸城 | 临夏 | 洛阳 | 开封 | 娄底 | 怒江 | 石狮 | 漯河 | 沧州 | 巴音郭楞 | 临猗 | 澳门澳门 | 宁波 | 清徐 | 江苏苏州 | 石嘴山 | 绥化 | 广饶 | 广饶 | 湘潭 | 铁岭 | 湖南长沙 | 云浮 | 鄂尔多斯 | 新余 | 鹤岗 | 诸暨 | 日照 | 黄南 | 无锡 | 定安 | 滕州 | 沛县 | 海南海口 | 吴忠 | 和田 | 广元 | 杞县 | 锡林郭勒 | 和县 | 通化 | 高雄 | 锡林郭勒 | 榆林 | 博尔塔拉 | 六盘水 | 延安 | 漳州 | 日土 | 仁怀 | 陇南 | 黄南 | 铜川 | 西藏拉萨 | 桂林 | 梧州 | 锦州 | 海南海口 | 吉林 | 东阳 | 榆林 | 天水 | 章丘 | 武安 | 十堰 | 简阳 | 沛县 | 揭阳 | 酒泉 | 衡阳 | 韶关 | 佛山 | 常德 | 桐城 | 宜都 | 揭阳 | 湘潭 | 茂名 | 资阳 | 邢台 | 那曲 | 中山 | 博尔塔拉 | 保定 | 醴陵 | 哈密 | 东海 | 铁岭 | 三门峡 | 抚州 | 新余 | 运城 | 天长 | 大丰 | 南充 | 威海 | 三河 | 三亚 | 鹰潭 | 霍邱 | 抚州 | 河北石家庄 | 铜仁 | 周口 | 石狮 | 桐城 | 文山 | 阜阳 | 武安 | 巴音郭楞 | 天水 | 洛阳 | 深圳 | 宜昌 | 达州 | 莱州 | 新沂 | 灌南 | 张北 | 红河 | 泗洪 | 柳州 | 日照 | 郴州 | 新疆乌鲁木齐 | 吉林长春 | 清徐 | 铁岭 | 玉溪 | 桐乡 | 马鞍山 | 泰州 | 十堰 | 蓬莱 | 桓台 | 双鸭山 | 莱州 | 白银 | 淮南 | 营口 | 金昌 | 丹阳 | 湖州 | 正定 | 扬州 | 台州 | 张掖 | 白山 | 娄底 |