如果我尝试像这样从我的 Controller 返回一些 JavaScript:
public ActionResult DoSomething()
{
return JavaScript("alert('Hello world!');");
}
我没有在我的浏览器中查看警报消息,但我从名为操作的页面(在我的例子中为 register.js)收到了对 .js 脚本的下载请求。怎么了?
最佳答案
当返回结果为 JavaScriptResult
时,指定的 JavaScript 没有执行,我遇到了类似的问题。 .在我的例子中,JavaScript 内容在 <pre>
中呈现为文本标签。
解决方案是将 JavaScript 作为 ContentResult
返回, 通过使用 Content()
方法。所以尝试:
public ActionResult DoSomething()
{
return Content("<script language='javascript' type='text/javascript'>alert('Hello world!');</script>");
}
我在 ASP.NET 论坛上找到了答案。在以下链接中查看 Bruce 的回答,以更完整地解释为什么这样做:
关于javascript - ASP.NET MVC - 返回 JavaScriptResult 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7271005/