System.Web.HttpException 使用 [授权] 时

System.Web.HttpException when using [Authorize]

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

布局页面“~/Views/Shared/_Layout.cshtml”的以下部分已定义但尚未呈现:"Scripts".

System.Web.HttpException

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

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

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

@RenderSection("scripts")

你需要改成这样:

@RenderSection("scripts", required: false)

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

旧但仍然相关:

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