创建一个发邮件的标签助手
<a href="mailto:admin@FoxDevelop.COM">站长信箱</a>Code language: HTML, XML (xml)
比如我们的FoxDevelop的这个发邮件的这个地址 其实它就是一个超链接 只不过是这个超链接是使用mailto协议
以前我们是http:
我们在MyTagHelper的项目里面去添加一个
EmailTagHelper类 然后需要实现TagHelper这个类
并且重写它的Process方法
using Microsoft.AspNetCore.Razor.TagHelpers;
using System;
using System.Collections.Generic;
using System.Text;
namespace MyTagHelper
{
/// <summary>
/// 需要继承TagHelper则个类
/// </summary>
public class EmailTagHelper :TagHelper
{
/// <summary>
/// <email mail-to="admin@FoxDevelop.COM" content="站长信箱"/>
/// </summary>
public string MailTo { set; get; }
public string Content { set; get; }
/// <summary>
/// 重写Process方法
/// </summary>
/// <param name="context"></param>
/// <param name="output"></param>
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.TagName = "a"; //最后email标签名替换为a标签
output.Attributes.SetAttribute("href", "mailto:" + MailTo);//设置属性href
output.Content.SetContent(Content);//标签中间的内容
}
}
}Code language: HTML, XML (xml)
在视图中使用email标签
<email mail-to="admin@FoxDevelop.COM" content="站长信箱" />
<email mail-to="admin@baidu.com.COM" content="联系我们" />Code language: HTML, XML (xml)
最后输出的HTML代码
我们把标签写成
<email mail-to="admin@FoxDevelop.COM" content="站长信箱"></email>
<email mail-to="admin@baidu.com.COM" content="联系我们"></email>Code language: HTML, XML (xml)
否则content不会显示
<a href="mailto:admin@FoxDevelop.COM">站长信箱</a>
<a href="mailto:admin@baidu.com.COM">联系我们</a>Code language: HTML, XML (xml)
Previous: 26-标签助手和Html助手的区别
Next: 28-异步的方式定义标签助手