ViewContext在当前上下文中不存在

时间:2017-06-20 15:38:24

标签: asp.net-mvc razor sitefinity

我有一个MVC项目。在视图中,我使用ViewContext来加载资源文件中的值。

@ViewContext.HttpContext.GetGlobalResourceObject("XyzResources", "MonLabel")

我收到错误 - The name ViewContext does not exit in current context

以下是我在页面中添加的命名空间。

@using System.Configuration
@using System.Globalization
@using System.Web.Configuration
@using Telerik.Sitefinity.Utilities.Lucene.Net.Documents
@using Telerik.Sitefinity.UI.MVC

我不知道为什么它会给我这个错误。如果我运行错误的项目,它会显示页面没有任何问题。我也从资源文件中获取值。

但我不知道如何解决它。

谢谢。

1 个答案:

答案 0 :(得分:0)

您不需要使用ViewContext。在您的视图中,您只需访问以下资源:

@System.Web.HttpContext.GetGlobalResourceObject("XyzResources", "MonLabel")

或者你可以这样使用:

@HttpContext.GetGlobalResourceObject("XyzResources", "MonLabel")

但Sitefinity有更好的方法来处理资源本地化。

在Sitefintiy后端,您可以管理资源标签。 (在Administration->Labels & Messages) 然后,在视图中,您可以像这样访问它:

@Html.Resource("AmazonSearchServiceTitle", "ProductsResources")

您可以在本文中找到有关Sitefinity资源的更多信息:http://docs.sitefinity.com/for-developers-create-custom-resource-classes