使用[Authorize]时出现System.Web.HttpException

时间:2019-02-07 09:16:25

标签: c# asp.net-mvc razor model-view-controller asp.net-authorization

我面临一个无法解决的非常奇怪的问题。 我有此按钮onclick,我转到需要使用[Authorize]的控制器操作方法,当我使用[Authorize]时出现以下错误。

已经定义了以下部分,但尚未为布局页面“〜/ Views / Shared / _Layout.cshtml”呈现“脚本”。

System.Web.HttpException

但是,当我不使用[授权]时,它可以正常工作。为什么会这样呢?任何帮助将不胜感激。

[Authorize]
public async Task<ActionResult> Calendar(int id, string start, string end)
{
    //code
}

1 个答案:

答案 0 :(得分:0)

在您的~/Views/Shared/_Layout.cshtml页面上,您可能必须在每个视图中都包含一个必填部分,该部分将是这样的:

@RenderSection("scripts")

您需要将其更改为此:

@RenderSection("scripts", required: false)

这意味着该部分在使用布局页面的页面上是可选的。

古老但仍然有意义:

https://weblogs.asp.net/scottgu/asp-net-mvc-3-layouts-and-sections-with-razor