2

私は .NET MVC の初心者です。MVC のすべての戻り値の型を実行しようとしましたが、javascriptResult を実行できませんでした。以下は私のコントローラーにあります:

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

これは私の見解です

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

リンクをクリックすると、「alert('Hello world!');」と表示されます。文字列として、アラートを発生させません。ここで何が問題なのですか?

4

1 に答える 1

0

ドキュメントが「間違っている」ようで、Controller.JavaScriptアクションの結果はJavaScriptインクルードファイルを返すと見なされる可能性が高いです(このスレッドも参照してください)。

コントローラ

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

意見

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

インラインJavaScriptを返したい場合はController.Content、アクション結果として次のものと組み合わせて使用​​できHtml.RenderActionます。

コントローラ

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

意見

<script type="text/javascript">
    @{ Html.RenderAction("JavaScript", "Controller"); }
</script>
于 2013-02-01T15:21:16.587 に答える