1

LinkBut​​ton を右クリックして新しいタブで開こうとしているか、別のウィンドウ ページに何も表示されません。ターゲットを「_blank」に設定するプロパティがあるため、ハイパーリンクボタンを使用するためのいくつかの解決策を見つけましたが、LinkBut​​tonにはターゲット属性がありません。

ハイパーリンクボタンの代わりにLinkBut​​tonを使用したいのは、ハイパーリンクボタンにコマンド引数またはコマンド名を設定できず、イベントを発生できないからです。

<asp:LinkButton ID="lnkHeadingHindi" Text='<%#Patrika.Common.ConvertNews(Eval("strMainHeadingHin").ToString())%>' CommandArgument='<%#Eval("intNewsId") %>' runat="server"></asp:LinkButton>

誰かが解決策を持っていて、懸念がある場合はお知らせください。

ありがとう !!

4

5 に答える 5

1

この質問に対する受け入れられた回答に基づいて、POST を実行したいが (dos などLinkButton)、結果を新しいウィンドウで開く場合は、リンク自体ではなく、ページ上のフォームtarget="_blank"に追加する必要があります。

ポストバックの原因となったすべてのものが新しいウィンドウで開かれるため、最初にページをレンダリングするときにこれを実行したくないことは明らかです。

代わりに、次の属性を に追加してみてくださいLinkButton

OnClientClick="$('form').attr('target', 'blank')"

これにより、リンクをクリックしてフォームがポストバックされる直前に、フォーム属性が動的に設定されます。

これは、必要な右クリック機能を提供しないことに注意してください。ただし、左クリックで新しいウィンドウで開くことはできます。

JQuery にアクセスできない場合は、次のようにする必要があります。

protected void Page_PreRender(object se, EventArgs e)
{
    this.Page.Form.ID = "someUniqueID"; // unless your form already has an ID
    yourLinkButton.OnClientClick =
        "document.getElementById('" +
        this.Page.Form.ClientID +
        "').setAttribute('target', '_blank')";
}
于 2013-03-06T08:31:13.323 に答える
0

両方の方法で使用することはできません。次のいずれかを選択する必要があります。

1)現在のページでいくつかのコードを実行するリンクボタン

2)新しいウィンドウで別のページを開くハイパーリンク

リンクボタンで新しいページのコードを実行したいと思いますが、それは不可能です。

またはあなたが使用するのが好きなら。怒りのタグ

hrefを適切なURLに設定してアンカーをレンダリングし、ターゲット属性を_blankに設定するだけで、URLが新しいウィンドウで開きます

<a href="urlOfThePage" target="_blank" >Click me</a>
于 2013-03-06T08:13:29.037 に答える
0

ドキュメントから

LinkBut​​ton コントロールを使用して、Web ページにハイパーリンク スタイルのボタンを作成します。LinkBut​​ton コントロールは、HyperLink コントロールと同じ外観ですが、Button コントロールと同じ機能を備えています。コントロールをクリックしたときに別の Web ページにリンクする場合は、HyperLink コントロールの使用を検討してください。

これは実際には標準的な意味でのリンクを実行していないため、コントロールには Target プロパティがありません (HyperLink コントロールには Target があります)。テキスト リンクからサーバーへの PostBack を実行しようとしています。

何をしようとしているかに応じて、次のいずれかを実行できます。

1) HyperLink コントロールを使用し、Target プロパティを設定します。

2) 新しいウィンドウを正しい場所に開くOnClientClick プロパティへのメソッドを提供します。

3) PostBack を処理するコードに、正しい場所に新しいウィンドウを開く PageLoad で起動する JavaScript を追加します。

よろしければ、リンクボタンをクリックして新しいウィンドウを開いてください。

これを見てください

于 2013-03-06T07:58:47.443 に答える
0

このようにベースタグを挿入します

 <head>
    <base target="_blank" />
    </head>
于 2013-03-06T08:06:28.670 に答える
0

ハイパーリンクを使用してページに情報を渡したい場合は、QueryStringを使用して URL に渡します。

<asp:HyperLink id="hyperlink1" 
                  NavigateUrl="~/MyPage.aspx?intNewsId=10"
                  Text="ClickMe"
                  Target="_blank"
                  runat="server"/>    
于 2013-03-06T08:09:21.393 に答える