asp.net-mvc-3 - Razor View 中的 HttpContext

标签 asp.net-mvc-3 razor

我尝试将一些 ASPX 标记移植到 Razor,但编译器抛出错误。

ASPX(工作正常):

<% if (node.IsAccessibleToUser(Context)) { %>
    // markup
<% } %>

CSHTML(引发错误):
@if (node.IsAccessibleToUser(Context)) {
    // markup
}

参数 1:无法从 'System.Web.HttpContextBase' 转换为 'System.Web.HttpContext'

如何获得引用 HttpContext在 Razor View 中?使用 HttpContext.Current 是否正确或者我需要以不同的方式检查站点地图节点的可见性?

最佳答案

WebViewPage.Context 是 HttpContextBase 实例。 WebViewPage.Context.ApplicationInstance.Context 是 HttpContext 实例。

@if (node.IsAccessibleToUser(Context.ApplicationInstance.Context)) {
    // markup
}

关于asp.net-mvc-3 - Razor View 中的 HttpContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5377715/

相关文章:

asp.net-mvc-3 - 在 mvc3 中组织 View 模型的更好方法?

asp.net-mvc - EditorFor 在没有 @foreach 的情况下不呈现 ienumerable

c# - Visual Studio 2013.3 中新 MVC5 项目的错误

asp.net-mvc-3 - 如何在asp net mvc3中将值从部分 View 传递到父 View

asp.net-mvc-3 - MVC 3 Razor - 表单未发回 Controller

c# - 在 ASP.NET MVC 中测试时如何访问 JsonResult 数据

JavaScript jq 范围

javascript - 在 Razor 语法中嵌入javascript变量

asp.net-mvc-3 - MVC 3 Razor,具有自定义标记/部分的助手

asp.net-mvc-3 - 使用和不使用查询字符串路由遗留请求