MVC6/Asp.netコア1.0のResponse.BodyでJavaScriptの結果を書き込むには?Asp.netコア1.0 - レスポンスにjavascriptを書く
私の場合、クライアントの通知を呼び出すためのスクリプトをレンダリングしたいのですが、ViewDataに新しい通知が存在するかどうかを確認するためにコードを自分のビューに配置したくありません。
は、私はこのような操作を行う場合は、次の
var bytesWrite = GetBytes(script);
await HttpContext.Response.Body.WriteAsync(bytesWrite, 0, bytesWrite.Length);
結果はHTMLテキストとして表示するスクリプトです。
UPDATE:
これは、物事をクリアすることがあります。 View()を結果として返したいと思います。しかし、"<script> Alert("Hey")</script>"
public IActionResult Popup()
{
//logic
//.....
//var script = ProduceNotification();
//
//Render Notifications
var bytesWrite = GetBytes(script);
await HttpContext.Response.Body.WriteAsync(bytesWrite, 0, bytesWrite.Length);
//Return de view normally. It doesn´t know about any notifications beeing returned
return View();
}
を呼び出すという見解を返すコンポーネントに
レスポンスBodyに書き込んでからビューを返すべきではありません。このように構成されることを意図したものではありません。スクリプトをページに追加するテキストとしてビューに渡します。 – Tratcher