创建等同于 nopcommerce @T() 助手的 html 助手
creating html helper equavalent to nopcomerce @T() helper
我在 NopCommerce 上工作,它有一个 HTML 助手 @T("")
,它接受一个字符串键并从数据库中获取它的值。
我想在我的项目中实现它。我在谷歌上搜索了很多,但没有找到任何关于他们如何创建这样的辅助方法的帮助。
有人可以帮我创建类似这样的助手吗?
你签到了吗Nop.Web.Framework
?
T
是 nopcoomerce 的自定义 HTML 助手,您可以在以下位置找到它的实现
Nop.Web.Framework > ViewEngines > Razor > WebViewPage
调用GetResource
服务获取资源字符串即可。
public Localizer T
{
get
{
if (_localizer == null)
{
//null localizer
//_localizer = (format, args) => new LocalizedString((args == null || args.Length == 0) ? format : string.Format(format, args));
//default localizer
_localizer = (format, args) =>
{
var resFormat = _localizationService.GetResource(format);
if (string.IsNullOrEmpty(resFormat))
{
return new LocalizedString(format);
}
return
new LocalizedString((args == null || args.Length == 0)
? resFormat
: string.Format(resFormat, args));
};
}
return _localizer;
}
}
希望对您有所帮助!
您需要告诉剃刀使用您自己的WebViewPage
。您在 Views
文件夹下的 web.config
文件中声明它。您的自定义 WebViewPage
必须在 pages
元素的 pageBaseType
属性中指定。所有 cshtml 实现都将继承您的自定义 WebViewPage
,您可以访问自定义 WebViewPage
.
的公共或受保护属性和方法
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc,
Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="Custom.MyCustomWebViewPage">
</system.web.webPages.razor>
我在 NopCommerce 上工作,它有一个 HTML 助手 @T("")
,它接受一个字符串键并从数据库中获取它的值。
我想在我的项目中实现它。我在谷歌上搜索了很多,但没有找到任何关于他们如何创建这样的辅助方法的帮助。
有人可以帮我创建类似这样的助手吗?
你签到了吗Nop.Web.Framework
?
T
是 nopcoomerce 的自定义 HTML 助手,您可以在以下位置找到它的实现
Nop.Web.Framework > ViewEngines > Razor > WebViewPage
调用GetResource
服务获取资源字符串即可。
public Localizer T
{
get
{
if (_localizer == null)
{
//null localizer
//_localizer = (format, args) => new LocalizedString((args == null || args.Length == 0) ? format : string.Format(format, args));
//default localizer
_localizer = (format, args) =>
{
var resFormat = _localizationService.GetResource(format);
if (string.IsNullOrEmpty(resFormat))
{
return new LocalizedString(format);
}
return
new LocalizedString((args == null || args.Length == 0)
? resFormat
: string.Format(resFormat, args));
};
}
return _localizer;
}
}
希望对您有所帮助!
您需要告诉剃刀使用您自己的WebViewPage
。您在 Views
文件夹下的 web.config
文件中声明它。您的自定义 WebViewPage
必须在 pages
元素的 pageBaseType
属性中指定。所有 cshtml 实现都将继承您的自定义 WebViewPage
,您可以访问自定义 WebViewPage
.
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc,
Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="Custom.MyCustomWebViewPage">
</system.web.webPages.razor>