Mvcでポップアップウィンドウを作成する必要があります(ブラウザーの新しいタブではありません)。誰でもこれを行う方法を知っていますか?
1つの可能性は jquery ui dialog を使用することです。
[〜#〜]編集[〜#〜]
アイデアは、部分的なビューを返すajaxアクションを持つことです。そのアクションの結果(html)がポップアップのコンテナー内に配置され、ajax呼び出しの成功ハンドラーでポップアップを開きます。ここにいくつかのサンプルコードがあります:
@Ajax.ActionLink("Open popup", "SomeAction", new AjaxOptions { HttpMethod = "GET", UpdateTargetId = "result", InsertionMode = InsertionMode.Replace, OnSuccess="openPopup" })<br />
<div id="result" style="display:none;"></div>
<script type="text/javascript">
$(document).ready(function() {
$("#result").dialog({
autoOpen: false,
title: 'Title',
width: 500,
height: 'auto',
modal: true
});
});
function openPopup() {
$("#result").dialog("open");
}
</script>
次に、部分的なビューを返すコントローラにアクションを追加する必要があります
[HttpGet]
public PartialViewResult SomeAction()
{
return PartialView();
}
部分ビューに必要なものを配置します。アクションなどにパラメーターを含めることもできます。
幸運を!
最も明白な方法は、jsフレームワークの1つを使用することです。個人的に私はjQuery UIダイアログコントロールを好みます。
詳細については http://jqueryui.com/demos/dialog/ を確認してください。
また、チェックすることもできます ASP.NET MVCモーダルダイアログ/ポップアップのベストプラクティス (あなたの質問と同様の質問です)
もちろん、単純なポップアップが必要な場合は、常にalert('Im popup');
を使用できます。
最新のリクエストに応じて更新します
新しいウィンドウでURLを開くには、次のJavaScriptを使用できます:
function OpenDialog() {
window.open("some url", "DialogName", "height=200,width=200,modal=yes,alwaysRaised=yes");
}
しかし、結果は本当にブラウザに依存します。それらのほとんどは、新しいタブではなく新しいブラウザーインスタンスでこのモーダルウィンドウを開きます。
このトピックはあなたにも役立つかもしれません:
JavaScriptはタブではなく新しいウィンドウで開きます