2

私はこれがかなり初心者であることを知っています.私はvb.net開発者であり、なぜ@TがNopCommerceで使用されているのか、その利点/使用法は何ですか?

たとえば、説明のために以下のコードを使用できます.. @T("Forum.Forums").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>
4

1 に答える 1

3

ローカライズに使用されます。Orchard CMS でも同じパターンを見つけることができます。

NOP Commerce は、ローカライズに使用するリソース (キーと値のペア) をデータベースに格納します。アクセス中はそれらをキャッシュし、エンジンを使用してこれらのリソースにアクセスします。

@T は、アプリでさまざまな言語を使用しながらリソースにアクセスする方法にすぎません。

私が言及したエラーを削除するには、 Convert.ToString(T("whatever")).ToUpper() を使用する必要があり、そのエラーが再びスローされることはありません

于 2013-10-26T20:06:54.923 に答える