AJax技术

解读ASP.NET 5 MVC6系列教程(13):TagHelper(3)

字号+ 作者:H5之家 来源:H5之家 2016-07-02 12:01 我要评论( )

[TargetElement("div")][TargetElement("style")][TargetElement("p")]public class ConditionTagHelper : TagHelper{ public bool Condition { get; set; } public override void Process(TagHelperContext contex

[TargetElement("div")] [TargetElement("style")] [TargetElement("p")] public class ConditionTagHelper : TagHelper { public bool? Condition { get; set; } public override void Process(TagHelperContext context, TagHelperOutput output) { // 如果设置了condition,并且该值为false,则不渲染该元素 if (Condition.HasValue && !Condition.Value) { output.SuppressOutput(); } } }

4. 自定义元素的TagHelper

如果我们要为自定义元素定义TagHelper,则我们要符合约定规范,示例代码如下:

public class WebsiteInformationTagHelper : TagHelper { public WebsiteContext Info { get; set; } public override void Process(TagHelperContext context, TagHelperOutput output) { output.TagName = "section"; output.PostContent.SetContent(string.Format( "<p><strong>Version:</strong> {0}</p>" + Environment.NewLine + "<p><strong>Copyright Year:</strong> {1}</p>" + Environment.NewLine + "<p><strong>Approved:</strong> {2}</p>" + Environment.NewLine + "<p><strong>Number of tags to show:</strong> {3}</p>" + Environment.NewLine, Info.Version.ToString(), Info.CopyrightYear.ToString(), Info.Approved.ToString(), Info.TagsToShow.ToString())); output.SelfClosing = false; } }

则使用的时候,我们需要使用website-information标签,并将info属性赋值一个强类型的值,示例如下:

<website-information info="new WebsiteContext { Version = new Version(1, 1), CopyrightYear = 1990, Approved = true, TagsToShow = 30 }"/>

其渲染结果,则是渲染成一个包含4个p元素的section元素。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • ASP.NET(AJAX+JSON)实现对象调用

    ASP.NET(AJAX+JSON)实现对象调用

    2016-04-29 14:00

  • ASP.NET AJAX 4.0的模版编程(Template Programming)介绍

    ASP.NET AJAX 4.0的模版编程(Template Programming)介绍

    2016-04-29 13:02

  • asp.net ajax 客户端框架未能加载

    asp.net ajax 客户端框架未能加载

    2016-01-25 08:01

  • asp.net开发常用技巧收集(2)

    asp.net开发常用技巧收集(2)

    2016-01-23 16:01

网友点评