0

我已经创建了一个带有打开一个新页面的按钮的页面,如果你愿意的话,一个弹出窗口。

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

在打开的这个新页面上,我有一个网格视图,您可以在其中获得以下信息。(您搜索“开始日期”到“截止日期”并获取其间的记录。)

在此处输入图像描述

显示“Gå till”的第一列是一个链接

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

我希望这个链接让我回到上一页并打开具有相应 id 的对象,我不知道如何完成这个。也许有比我正在使用的更好的方法,但我仍在学习。

4

5 回答 5

1

您可以在 gridview 的 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

您可以设置 JavaScript:window.location.replace(url); 到 HyperLink 的客户端 onclick。window.location.replace(url) 将重新加载页面。

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

并在超链接客户端 onclick

hyperLink.Attributes.Add("onclick", "windowHandle.close();window.location.replace(url);return false");
于 2013-05-21T12:58:07.720 回答
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 回答