0

新しいページを開くボタンを備えたページを作成しました。必要に応じてポップアップします。

btnToolbarSearch.Attributes.Add("onclick", "window.open('DagbokSearch.aspx','','height=600,width=600');return false");

開いたこの新しいページには、以下の情報を取得するグリッドビューがあります。(「開始日」から「終了日」まで検索し、その間のレコードを取得します。)

ここに画像の説明を入力

「Gåtil」と書かれている最初の列はリンクです

<asp:HyperLinkField DataNavigateUrlFields="Foretag" 
                    DataNavigateUrlFormatString="userProfile.aspx?ID={0}" 
                    Text="Gå till" />

このリンクを使用して前のページに戻り、対応する ID を持つオブジェクトを開きたいのですが、これを行う方法がわかりません。私が使っている方法よりも良い方法があるかもしれませんが、私はまだ学んでいます。

4

5 に答える 5

1

グリッドビューの Rowdatabound イベントで NavigateUrl プロパティを設定できます。お気に入り;

protected void gvDogBok_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
           ((HyperLink)e.Row.Controls[1].Controls[1]).NavigateUrl = "~/userProfile.aspx?ID="+((YourType)e.Row.DataItem).ID+"";
         }
    }
于 2013-05-21T11:45:57.117 に答える
1

あなたが求めていることができるかどうかはわかりません。代わりにフローティング div ポップアップを使用することをお勧めします。これにより、現在のページを離れて新しいタブに移動する必要がなくなります。これで問題が解決し、ポップアップ ブロッカーの問題が回避されます。

ここにいくつかの例があります: http://www.javascripttoolbox.com/lib/popup/example.php

于 2013-05-21T11:46:20.013 に答える
1

これを使って

protected void gvDogBok_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
       ((HyperLink)e.Row.Controls[1].Controls[1]).Attribute.Add("onclick", "window.opener.location =userProfile.aspx?ID="+    ((YourType)e.Row.DataItem).ID+"; window.close();";
     }
}
于 2013-05-21T11:53:49.713 に答える
1

window.openerプロパティを使用して、親ウィンドウへの参照を取得できるはずです。次に、その URL を選択したリンクに設定し、ポップアップ ウィンドウを閉じることができます。

このような何かがうまくいくはずです:

// Place this near your closing </body> tag
// NB Uses jQuery and event delegation
$(function() {        
    $('table').on('click', 'tr > td:first > a', function(event) {
        if (window.opener) {
            event.preventDefault();
            window.opener.location.href = this.href;
            window.close();
        }
    });
});
于 2013-05-21T13:55:00.220 に答える
1

JavaScript:window.location.replace(url); を設定できます。ハイパーリンクのクライアント側の onclick に。window.location.replace(url) はページをリロードします。

btnToolbarSearch.Attributes.Add("onclick", "var windowHandle = window.open('DagbokSearch.aspx','','height=600,width=600');return false");

およびハイパーリンク cleint 側 onclick

hyperLink.Attributes.Add("onclick", "windowHandle.close();window.location.replace(url);return false");
于 2013-05-21T12:58:07.720 に答える