新しいブラウザウィンドウで「リクエスト」ビューを開くASP.NETMVCアプリがあります。ユーザーがフォームを送信したら、ウィンドウを閉じてください。リクエスト情報を保存した後にウィンドウを閉じるには、RequestControllerコードはどのようになりますか?コントローラのアクションが何を返す必要があるのかわかりません。
次のjavascriptを含むビューを返すこともできます(またはJavaScriptの結果を返すこともできます)が、私は前者を好みます。
public ActionResult SubmitForm()
{
return View("Close");
}
閉じるための表示:
<body>
<script type="text/javascript">
window.close();
</script>
</body>
これはコントローラーで直接行う方法ですが、お勧めしません
public ActionResult SubmitForm()
{
return JavaScript("window.close();");
}
そのようなように:
[HttpPost]
public ActionResult MyController(Model model)
{
//do stuff
ViewBag.Processed = true;
return View();
}
景色:
<%if(null!=ViewBag.Processed && (bool)ViewBag.Processed == true){%>
<script>
window.close();
</script>
<%}%>
「window.close()」を実行したばかりのヘッダーにjavascriptが含まれている、ほぼ空のViewテンプレートを返すことができるようです。
これは私のために働いた:
[HttpGet]
public ActionResult Done()
{
return Content(@"<body>
<script type='text/javascript'>
window.close();
</script>
</body> ");
}
これは私がウィンドウを閉じるのに役立ちました。
コントローラ:
return PartialView("_LoginSuccessPartial");
見る:
<script>
var loginwindow = $("#loginWindow").data("kendoWindow");
loginwindow.close();
</script>