2009-08-28 30 views

答えて

36

基本的なHTMLアンカー要素:

<a href="http://www.w3schools.com/" 
target="_blank">Visit W3Schools!</a> 

ASP.NET Webフォームハイパーリンク要素:

<asp:HyperLink ID="HyperLink1" runat="server" Target="_blank">HyperLink</asp:HyperLink> 

ASP.NET MVCスタイル:

<%= Html.ActionLink<HomeController>(c => c.Index(), "Click me", new { target = "_blank" }) %> 

すべての3つは、新しいタブを開きますそれはあなたのニーズに合っていますか?

+0

これは当てはまりますが、asp.net mvcでasp:ハイパーリンクを使用したくないということを追加したかっただけです。James S.の下記の答えを参照してください。 – David

+0

もちろん、Html.ActionLink項目でも行うことができます。 - それに合わせてコメントを変更しました。 –

3
<A Href="page.html" target="_blank">Link text </A> 

target = "_ blank"は必要な特定の部分です。

また、target = "new"を使用することもできます。 Here's 2つの動作がどのように異なるかを説明する記事。

14

javascriptを使用していない場合は、target = "_ blank"を使用する必要があります。しかし、クリーンなMVCの方法でそれを行うために実行します。

<%= Html.ActionLink("Click me", "ActionName", null, new {target="_blank"}) %> 
+0

ちょうどその次のよりもきれいです: Click Me

+0

それは少し奇妙ですが、それはasp.net mvcの方法です、あなたは自分のヘルパーなどを作成することができますまた、簡単にここでは、文字列をハードコーディングする。 – David

+3

はい。それは奇妙だ。そして、いいえ、きれいではありません。しかし、ActionLinkはあなたのルートを知っています。ルートが変更されると、リンクが更新されます。また、ビュー変数をそこに置くと、変数名の追跡が行われるので、リファクタリングが簡単になり、null値のパラメータも取り除くことができます(これはかなりクールです)。あなたが強くそれをタイプすると、それはコンパイル時のチェックの方がはるかに優れていますが、ちょっと面白く見える(<%= Html.ActionLink (c => c.Action(var1、null、var3)、 "Click Me" 、新しい{target = "_ blank"});%>)。 –

5

ご質問がある場合は - どのように私は簡単な答えがある

のasp.net MVCでポップアップウィンドウを作成することができますすることができます」 t

PHP、JSP、その他のサーバー側のスクリプト言語では、このようなことはできません。

上記の解決策はすべてHTMLであることに気付きましたか?

ポップアップウィンドウは、クライアント側で処理する必要があるドメインです。サーバー言語は、ポップアップウィンドウを開くコマンドを持つHTML/Javascriptを出力できます。それらは本質的にウインドウを開くようブラウザに命ずることはできません。

関連する問題