【发布时间】:2015-09-22 21:35:55
【问题描述】:
我的 ASP.NET MVC 中脚本标记中包含的 JavaScript 可以完美运行,但是,如果我在控制器中添加 Authorize 关键字,则 JavaScript 不会运行。不幸的是,我没有在网上找到任何关于这个问题的参考资料。
这是我的控制器:
namespace PROJECT.Controllers
{
[Authorize]
public class HomeController : Controller
{
如果我在特定控制器方法上添加 Authorize 关键字,而不是像上面那样普遍使用,也会出现同样的问题。我不确定如何使用 Authorize 密钥或替代方法来启用 JavaScript。
任何帮助将不胜感激。
【问题讨论】:
-
还有更多的东西。脚本标签内的脚本可能会引用其他脚本或其他东西。一旦脚本进入浏览器,它并不关心托管它的页面是否需要下载 cookie。
-
在深入研究之后,我意识到问题出在用户登录时。当没有用户登录时,(并且 Authorize 标签被注释掉)JavaScript 运行。当用户登录时,JavaScript 不会运行,但不会出现控制台错误。
-
我冒昧地猜测在您的一个视图(或部分视图)中存在
JavaScript的片段,这是整个页面上的JavaScript运行所必需的。页面上只需要一个JavaScript语法错误即可禁用它,并且您的一个视图可能包含缺失的片段以使其在语法上正确。从HomeController中删除[Authorize]属性并将其放在每个操作方法上,直到找到导致问题的方法,然后检查其对应的视图代码。
标签: javascript asp.net asp.net-mvc authorization authorize