【问题标题】:MVC4 Razor Page not showing contentMVC4 Razor 页面不显示内容
【发布时间】:2013-05-16 12:18:09
【问题描述】:

我是 MVC4 和 Razor 语法的新手。如果这个问题太简单了,我先道歉,我无法找到答案...

我想按照以下方式做一些事情......

示例 1

@if (Model.UserDoesNotHaveAccess)
{
    <h1>You do not have access</h1>
    Response.End();
}

<h1> You do have access </h1>

当我使用示例 1 代码运行页面时,如果 UserDoesNotHaveAccess 为真,我会得到一个空白页面 - 没有呈现任何内容。当我使用示例 2 代码运行页面时,它可以工作......我不想像我在示例 2 中所做的那样将所有内容嵌套在 if else 语句中。有没有一种简单的方法可以让类似于示例 1 的东西正常工作?

示例 2

@if (Model.UserDoesNotHaveAccess)
{
    <h1>You do not have access</h1>    
}
else
{
    <h1> You do have access </h1>
}

【问题讨论】:

  • 如果用户无权访问该页面,通常您会重定向到操作中的另一个操作/视图。或者您可以使用 Authorize 属性来处理这个问题。我认为您不希望视图中出现这种逻辑。
  • 谢谢,我想我们会做一个重定向,因为它是一个遗留应用程序。

标签: asp.net-mvc-4 razor


【解决方案1】:

如果你想限制访问,用[Authorize]装饰控制器动作 他们将被重定向到登录页面

如果您使用角色,您还可以指定哪个角色具有访问权限,例如

[Authorize(Roles ="Admin")]

然后任何不属于该角色的人也将被重定向到登录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 2011-01-09
    相关资源
    最近更新 更多