2012-05-04 6 views
2

.NET MVCの初心者です。私はMVCのすべての戻り値の型を実行しようとしていましたが、私はjavascriptResultを動作させることができませんでした。以下の私のコントローラである:JavascriptResultは、javascriptを文字列としてページに挿入しますか?

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

私はリンクをクリックしたときにこれが私の見解では

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

あり、それは置く「警告( 『こんにちは、世界を!』);」文字列として、警告を発しません。ここで何が間違っていますか?

答えて

0

ファイル(see also this thread)が含まドキュメントは "間違って" いるようだとController.JavaScriptアクション結果が最も可能性が高いだけではJavaScriptを返すように考えられている:

コントローラ

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

ビュー

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

y OUは、あなたがHtml.RenderActionとの組み合わせで、あなたの行動の結果としてController.Contentを使用することができますJavaScriptのインラインを返すようにしたい:

コントローラ

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

ビュー

<script type="text/javascript"> 
    @{ Html.RenderAction("JavaScript", "Controller"); } 
</script> 
関連する問題