为什么@T在NopCommerce中使用,它有什么好处/用途

本文关键字:什么 用途 NopCommerce 为什么 | 更新日期: 2023-09-27 18:36:56

我知道这是菜鸟,我是一名 vb.net 开发人员,需要知道为什么@T在NopCommerce中使用,它有什么好处/用途?

例如,我们可以采用下面的代码进行解释..我正在尝试做@T("论坛论坛")。ToUpper() 并抛出一个错误。

CS1061: 'Nop.Web.Framework.Localization.LocalizedString' 不包含 ...

@model MenuModel  @using Nop.Web.Models.Common;
<ul class="top-menu">
    @Html.Widget("header_menu_before")
    <li><a href="@Url.RouteUrl("HomePage")">@T("HomePage")</a></li>
    @if (Model.RecentlyAddedProductsEnabled)
    {
        <li><a href="@Url.RouteUrl("RecentlyAddedProducts")">@T("Products.NewProducts")</a>
        </li>
    }
    <li><a href="@Url.RouteUrl("ProductSearch")">@T("Search")</a> </li>
    <li><a href="@Url.RouteUrl("CustomerInfo")">@T("Account.MyAccount")</a></li>
    @if (Model.BlogEnabled)
    {
        <li><a href="@Url.RouteUrl("Blog")">@T("Blog")</a></li>
    }
    @if (Model.ForumEnabled)
    {
        <li><a href="@Url.RouteUrl("Boards")">@T("Forum.Forums")</a></li>
    }
    <li><a href="@Url.RouteUrl("ContactUs")">@T("ContactUs")</a></li>
    @Html.Widget("header_menu_after") </ul>

为什么@T在NopCommerce中使用,它有什么好处/用途

它用于本地化。您也可以在Orchard CMS中找到相同的模式。

NOP Commerce 将用于本地化的资源(键值对)存储在数据库中。在访问时,它会缓存它们并使用它们的引擎来访问这些资源。

@T只是一种在应用程序中使用不同语言时访问资源的方法。

为了消除我提到的错误,我们需要使用Convert.ToString(T("whatever"))。ToUpper() 并且它不会再次抛出该错误