2013-10-26 21 views
2

我知道這很漂亮,我是一個vb.net開發者,需要知道爲什麼@T用在NopCommerce中,它有什麼好處/用法?爲什麼@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> 

回答

3

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

NOP Commerce存儲用於數據庫本地化的資源(鍵值對)。在訪問時,它會緩存它們並使用它們的引擎來訪問這些資源。

@T只是在應用程序中使用不同語言時訪問資源的方法。

爲了消除我提到我們NEET使用Convert.ToString(T(「什麼」))的誤差。ToUpper的(),它不會拋出這個錯誤再次

+0

確定,即時嘗試添加.ToUpper ()來顯示它全部用大寫字母表示它不工作?並給出我上面提到的錯誤的任何線索爲什麼? – inN0Cent

+1

您需要添加任何您嘗試資源的關鍵值。 – DarthVader

+1

我試着編輯你的答案添加爲了刪除錯誤我提到我們neet使用Convert.ToString(T(「無論」))。ToUpper(),它不會再拋出該錯誤 – inN0Cent