javascript - ASP.NET MVC - 返回 JavaScriptResult 不起作用

标签 javascript asp.net-mvc-3 controller

如果我尝试像这样从我的 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 的回答,以更完整地解释为什么这样做:

Return JavascriptResult Not Working

关于javascript - ASP.NET MVC - 返回 JavaScriptResult 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7271005/

相关文章:

c# - ASP.NET MVC - 来自 Controller 代码的当前操作?

JavaFX - 如何使用来自另一个 Controller 的 Controller 中的方法?

javascript - 发票未打印在右侧

javascript - Node.js 对象的所有属性到字符串

c# - Razor Form 模型 - 两个强制属性之一

javascript - 如何从服务调用 Controller 中的函数

javascript - 什么是 JavaScript 单元测试的代码覆盖率分支

Javascript - 以编程方式创建桌面链接

c# - ASP.NET MVC 架构服务层等 HttpContext 感知逻辑可以去哪里?

asp.net-mvc-3 - 在 Controller 上声明 ViewBag