1つのアクションが必要JavaScriptの一部を返します。 MVC 5ではASP.NET 5 MVC 6コントローラからJavascriptを返す方法
我々は持っている:
return JavaScript("alert('hello')");
が、MVC 6に、私たちはドント。
これを行う方法はありますか?
1つのアクションが必要JavaScriptの一部を返します。 MVC 5ではASP.NET 5 MVC 6コントローラからJavascriptを返す方法
我々は持っている:
return JavaScript("alert('hello')");
が、MVC 6に、私たちはドント。
これを行う方法はありますか?
これは現在、ASP.NET MVC 6は、MVCのようJavaScriptResult
をサポートしていません
return json(new {message="hello"});
$.ajax({
url: URL,
type: "POST",
success: function(data){alert(data.message)},
});
このことについても説明してください。コードのみの回答は、推論が欠けているため、通常は眉をひそめます。おそらく、MSDNやContentを参照するものへのリンクが含まれていますか? –
最初のオプションはmvc 6では機能しません。何も起こりません。 – Beetlejuice
単純な返信文、クライアント側、コントローラコードではなく、コードに多くを追加できますか?私は2番目のオプションを好むだろう。 – din
Ajaxを利用したことになるContentResult MSDN
return Content("<script language='javascript' type='text/javascript'>alert('Hello world!');</script>");
または他の方法を返すことによって達成することができます5.これに関する興味深い議論がここにあります(あなたの問題についても解決策があります):https://github.com/aspnet/Mvc/issues/2953
個人的に私はJSコードをクライアントに送るのは悪いことです(クライアントがJSに必要なデータを送信してそこに関数の呼び出しを実行する)が、これは有効な状況があるようです(最後のコメントを見てください)。
これは私の実際のプロジェクトの課題です。しかし、私は試してみましょう。 – Beetlejuice
送信中???いいえ!サイトエンドポイントを使用して動的に作成するJSの共有に使用する必要があります。たとえば、動的に作成された定数です。 – Maxim
公式にはサポートされていないので、私たちはJavaScriptResultを自分自身に組み込むことができます。それは簡単です:
public class JavaScriptResult : ContentResult
{
public JavaScriptResult(string script)
{
this.Content = script;
this.ContentType = "application/javascript";
}
}
リターンのコンテンツ( "<スクリプト言語= 'javascriptの' タイプ= 'テキスト/ javascriptの'>警告(); 'こんにちは、世界!'"); – din
@dinなぜあなたはそれを回答として投稿しないのですか? – Christos
あなたが望むように@Christos :-) – din