target="_blank"
in LinkButton
...鉱山が機能していないようです
<asp:LinkButton runat="server" ID="g31" Text="PDF"
CommandArgument='<%# DataBinder.Eval(Container.DataItem,"productID") %>'
CommandName='<%# DataBinder.Eval(Container.DataItem,"documentID") %>'
OnCommand="linkbutton_showpdf" target="_blank">
</asp:LinkButton>
または、別のボタン形式を使用する必要がありますか?
リンクボタンでこんな風に使えます
置換target="_blank"
からOnClientClick="window.document.forms[0].target='_blank';"
。
現在の回答はどれも、<a>
タグはasp.netでは正しい答えではありません。
HyperLinkボタンを使用します。ターゲット属性のプロパティもあります。
<asp:HyperLink runat="server"
NavigateUrl='http://rrs.com/aspx/Equipment/EquipmentType.aspx'
Target="_blank">
Create/Edit Part Types
</asp:HyperLink>
target='_blank'
プロパティを持つハイパーリンクコントロールを使用できます。ただし、LinkButtonコントロールを使用する必要がある場合は、OnClientClick
属性を追加して、JavaScript関数を呼び出してポップアップウィンドウを開くことができます。
window.open();
私はフォームのターゲットを変更したDevsaniniiの回答を使用していて、ターゲットを変更したリンクをクリックした後、残りのページが新しいウィンドウに切り替わるという望ましくない動作を見つけました。これは理にかなっていますが、望ましくありませんでした。
いくつかのリンクを含むファイルを開き、他のページを新しいページにロードしていました。ファイルを新しいウィンドウで開き、新しいページを同じウィンドウで開きたいと思っていました。しかし、ターゲットを変更した後、すべてが新しいウィンドウに表示されました。私はすべてのlinkbutton
にクライアントクリックハンドラーを追加して追加することもできましたが、それは面倒でした。
だからここに私が思いついたものがあります:
新しいウィンドウをターゲットとして持つはずのクラスをlinkbuttons
に追加し、次にこのjQueryの小さな部分をスクリプトに追加しました。
$(function() {
$('a').click(function() {
if ($(this).hasClass('changeTarget')) {
window.document.forms[0].target = '_blank';
} else {
window.document.forms[0].target = '_self';
}
});
});
新しいウィンドウが必要なlinkbutton
を押すと、新しいウィンドウで開き、他の何かを押すと、同じウィンドウで開きます。
ASP.NET WebフォームのLinkButtonは、JavaScriptを使用して基になるフォームを送信するだけなので、target = "_ blank"は実際には何もしません。新しいウィンドウを開くには、LinkButtonのOnClientClickイベントを使用して、JavaScriptを介して「フォーム」のターゲットプロパティを変更します。また、(setTimeoutを使用して)クリック後に変更を元に戻す必要があります。そうしないと、ボタンをさらにクリックすると、意図せずに新しいタブがターゲットになります。
<asp:LinkButton ID="uiNewTabExample" Text="Open New Tab" OnClick="uiNewTabExample_Click" OnClientClick="window.document.forms[0].target = '_blank'; setTimeout(function () { window.document.forms[0].target = '' }, 0);"
runat="server" />