Razor 在ASP.NET核心标记帮助程序中,公共属性未按预期工作
我已经从ASP.NET核心复制了电子邮件标记助手的演示 当我在查看页面上创建如下所示的标记时:Razor 在ASP.NET核心标记帮助程序中,公共属性未按预期工作,razor,asp.net-core,Razor,Asp.net Core,我已经从ASP.NET核心复制了电子邮件标记助手的演示 当我在查看页面上创建如下所示的标记时: <div> <Email MailTo="abc"></Email> </div> mailToWorks会像我预期的那样获得“abc”,但未设置公共权限MailTo。下面是我的标记帮助器源代码 [HtmlTargetElement("Email")] public class EmailTagHelper : TagHelper
<div>
<Email MailTo="abc"></Email>
</div>
mailToWorks会像我预期的那样获得“abc”,但未设置公共权限MailTo。下面是我的标记帮助器源代码
[HtmlTargetElement("Email")]
public class EmailTagHelper : TagHelper
{
private const string EmailDomain = "contoso.com";
// Can be passed via <email mail-to="..." />.
// Pascal case gets translated into lower-kebab-case.
public string MailTo { get; set; }
public override void Process(TagHelperContext context, TagHelperOutput output)
{
var mailToWorks = output.Attributes["MailTo"].Value.ToString();
output.TagName = "a"; // Replaces <email> with <a> tag
var address = MailTo + "@" + EmailDomain;
output.Attributes.SetAttribute("href", "mailto:" + address);
output.Content.SetContent(address);
}
}
[HtmlTargetElement(“电子邮件”)]
公共类EmailTagHelper:TagHelper
{
private const string EmailDomain=“contoso.com”;
//可以通过。
//帕斯卡的情况下得到转化为较低的烤肉串情况。
公共字符串MailTo{get;set;}
公共覆盖无效进程(TagHelperContext上下文,TagHelperOutput输出)
{
var mailToWorks=output.Attributes[“MailTo”].Value.ToString();
output.TagName=“a”//替换为标记
var address=MailTo+“@”+EmailDomain;
output.Attributes.SetAttribute(“href”,“mailto:”+地址);
output.Content.SetContent(地址);
}
}
如果您想关闭转换成下烤肉串大小写,可以使用HtmlAttributeNameAttribute
// matches <email MailTo="..." />
[HtmlAttributeName(nameof(MailTo))]
public string MailTo { get; set; }
//匹配
[HtmlAttributeName(名称(MailTo))]
公共字符串MailTo{get;set;}
如果您想关闭转换成下烤肉串大小写,可以使用HtmlAttributeNameAttribute
// matches <email MailTo="..." />
[HtmlAttributeName(nameof(MailTo))]
public string MailTo { get; set; }
//匹配
[HtmlAttributeName(名称(MailTo))]
公共字符串MailTo{get;set;}
我想它说你应该这样做:谢谢@SerifEmek你是对的,这就解决了问题。奇怪的是,Intelissense建议使用紫色的“MailTo”。一旦我把它打印出来,它也喜欢邮件。这有意义吗?你很好。不,没有。实际上,我不熟悉这个用法。刚刚从你的链接中了解到。我想它说你应该有这样一句话:谢谢@SerifEmek你是对的,这就解决了问题。奇怪的是,Intelissense建议使用紫色的“MailTo”。一旦我把它打印出来,它也喜欢邮件。这有意义吗?你很好。不,没有。实际上,我不熟悉这个用法。刚刚从你的链接中了解到。