我尝试将一些 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/