JavascriptResult将javascript作为字符串放到页面中?

时间:2012-05-04 22:08:49

标签: javascript asp.net-mvc razor

我是.NET MVC的新手。我试图运行所有返回类型的MVC,但我无法工作javascriptResult。以下是我的控制器:

    public ActionResult DoSomething() {
        string s = "alert('Hello world!');";
        return JavaScript(s);
    }

这是我认为的

@Ajax.ActionLink("click", "DoSomething", new AjaxOptions())

当我点击链接时,它会显示“alert('Hello world!');”作为一个字符串,因此不会触发警报。这有什么不对吗?

1 个答案:

答案 0 :(得分:0)

似乎文档“错误”且Controller.JavaScript操作结果很可能仅被视为返回JavaScript包含文件(see also this thread):

<强>控制器

public ActionResult JavaScript()
{
    string s = "alert('Hello world!');";
    return JavaScript(s);
}

查看

<script type="text/javascript" src="~/Controller/JavaScript"></script>

如果您想要返回内嵌JavaScript,可以将Controller.ContentHtml.RenderAction结合使用作为您的操作结果:

<强>控制器

public ActionResult JavaScript()
{
    string s = "alert('Hello world!');";
    return Content(s);
}

查看

<script type="text/javascript">
    @{ Html.RenderAction("JavaScript", "Controller"); }
</script>