新しいウィンドウでコントローラー アクションからビューを開く方法はありますか?
public ActionResult NewWindow()
{
// some code
return View();
}
NewWindow.cshtml ビューを新しいブラウザー タブで開くにはどうすればよいですか?
ビュー内のリンクからそれを行う方法を知っています-それは問題ではありません。コントローラーのアクションからそれを行う方法を見つけた人はいますか?
新しいウィンドウでコントローラー アクションからビューを開く方法はありますか?
public ActionResult NewWindow()
{
// some code
return View();
}
NewWindow.cshtml ビューを新しいブラウザー タブで開くにはどうすればよいですか?
ビュー内のリンクからそれを行う方法を知っています-それは問題ではありません。コントローラーのアクションからそれを行う方法を見つけた人はいますか?
これは、コントローラー自体からではなく、ビューから実行できます。私が見ているように、2つのオプションがあります。
「_blank」属性でリンクを装飾します(HTMLヘルパーとストレートHMTL構文を使用した例)
@Html.ActionLink("linkText", "Action", new {controller="Controller"}, new {target="_blank"})
<a href="@Url.Action("Action", "Controller")" target="_blank">Link Text</a>
Javascriptを使用して新しいウィンドウを開く
window.open("Link URL")
トミーの方法はフォームでも使用できます。
@using (Html.BeginForm("Action", "Controller", FormMethod.Get, new { target = "_blank" }))
{
//code
}
あなたは間違った質問をしています。分離コード (コントローラー) は、フロントエンドの機能とは何の関係もありません。実際、それが MVC の強みです。コード/概念をビューから分離します。
アクションを新しいウィンドウで開く場合、そのアクションへのリンクは、クリックしたときに新しいウィンドウを開くようにブラウザに指示する必要があります。
擬似例:<a href="NewWindow" target="_new">Click Me</a>
それだけです。そのアクションへのリンクのターゲットを設定します。
@Html.ActionLink("linkText", "Action", new {controller="Controller"}, new {target="_blank",@class="edit"})
script below will open the action view url in a new window
<script type="text/javascript">
$(function (){
$('a.edit').click(function () {
var url = $(this).attr('href');
window.open(url, "popupWindow", "width=600,height=800,scrollbars=yes");
});
return false;
});
</script>