C# 从标记帮助器访问共享资源

C# 从标记帮助器访问共享资源,c#,asp.net-core,C#,Asp.net Core,我试图访问标记帮助器中的共享资源,但它不会从资源文件返回值,即使我知道它存在,只有ResourceNotFound。我在一些视图中使用IHtmlLocalizer访问共享资源,它工作正常,因此应该正确配置所有内容 标记辅助对象: [HtmlTargetElement("lc:buy-button", Attributes = "product", TagStructure = TagStructure.WithoutEndTag)] public class BuyButtonTagHelper

我试图访问标记帮助器中的共享资源,但它不会从资源文件返回值,即使我知道它存在,只有ResourceNotFound。我在一些视图中使用IHtmlLocalizer访问共享资源,它工作正常,因此应该正确配置所有内容

标记辅助对象

[HtmlTargetElement("lc:buy-button", Attributes = "product", TagStructure = TagStructure.WithoutEndTag)]
public class BuyButtonTagHelper : BaseTagHelper
{
    private readonly IStringLocalizer<SharedResources> _localizer;

    public BuyButtonTagHelper(AppHelper app, IStringLocalizer<SharedResources> localizer) : base(app)
    {
        _localizer = localizer;
    }

    public override void Process(TagHelperContext context, TagHelperOutput output)
    {
        .........

        base.Process(context, output);
    }

    private string ProcessHtml(string html)
    {
        string result = html.Replace("{?productId?}", this.Product.ToString());
        result = result.Replace("{?subscribeText?}", _localizer["SubscribeButtonText"].Value);

        return result;
    }

    [HtmlAttributeName("product")]
    public int Product { get; set; } = -1;
}
[HtmlTargetElement(“lc:buy按钮”,Attributes=“product”,TagStructure=TagStructure.WithoutEndTag)]
公共类BuyButtonTagHelper:BaseTagHelper
{
专用只读IStringLocalizer\u localizer;
PublicBuyButtonTaghelper(AppHelper应用程序、IStringLocalizer定位器):基本(应用程序)
{
_定位器=定位器;
}
公共覆盖无效进程(TagHelperContext上下文,TagHelperOutput输出)
{
.........
过程(上下文、输出);
}
私有字符串处理html(字符串html)
{
string result=html.Replace(“{productId?}”,this.Product.ToString());
结果=结果.Replace(“{?subscribeText?}”,_定位器[“SubscribeButtonText”].Value);
返回结果;
}
[HtmlAttributeName(“产品”)]
公共整数乘积{get;set;}=-1;
}

通过安装nuget软件包Microsoft.AspNetCore.Mvc.Localization解决了这个问题