1

我拥有response.redirect一个页面所需的所有代码,并将我需要的信息传递给另一个页面。但我不希望它重定向页面,而是在页面中创建一个弹出窗口。我也有弹出窗口的代码,但我无法将信息传递给它。

这是弹出窗口的代码,它没有传递任何信息:

<asp:LinkButton ID="lb_viewstudenttimetable" runat="server" OnClick="lb_viewstudenttimetable_Click" 
     OnClientClick="window.open('Timetable_User.aspx','Timetable','width=640,height=360,scrollbars=yes');">

这是OnClick将信息传递到其他页面的按钮的代码

protected void lb_viewstudenttimetable_Click(object sender, EventArgs e)
{
    GridViewRow row = gv_classlist.SelectedRow;
    Response.Redirect("Timetable_User.aspx?UserID=" + row.Cells[1].Text + "");
    //my attempt of trying to pass the following to the popup        
    //Response.Write("window.open('Timetable_User.aspx?UserID="+row.Cells[1].Text+"','Timetable','width=640,height=360,scrollbars=yes');");
}

所以我想OnClientClick用来做那件事OnClick

4

3 回答 3

0

只需传递查询字符串:

<asp:LinkButton ID="lb_viewstudenttimetable" runat="server" 
    OnClick="lb_viewstudenttimetable_Click" 
    OnClientClick="window.open('Timetable_User.aspx?UserID=x', 'Timetable', 'width=640,height=360,scrollbars=yes');">

那么问题是当“x”来自服务器时如何将“x”放入查询字符串中。您需要做的是,在 GridView 的 Databinding 事件中,构建要使用的 JavaScript 字符串 OnClientClick,然后设置它。这样,每个网格行中的 LinkBut​​ton 将在被单击时做好准备。

于 2014-05-09T18:46:15.087 回答
0

您想要弹出窗口还是新的浏览器选项卡?如果你想要一个弹出窗口,我通常使用这样的 iframe。

<a rel="#popupinit" href="#" uniqenum='<%= serversideUniquenum %>'>Open popup</a>

<div style="background-color: white; top: 30px; text-align:center ; width:100%" id="ShowOrderGrid" >
   <iframe id="iframeid" src='' style="width: 500px; text-align:center ; height: 650px;"></iframe>
</div>

<script>
    $(function () {
        $("a[rel='#popupinit]").click(function () {
            var uniquenum = $(this).attr("uniquenum");
            $('#iframeid').attr('src', '/somepath/somepath/somepage.aspx?uniquenum=' + uniquenum);
        });
</script>
于 2014-05-09T19:22:01.730 回答
0
    GridViewRow row = gv_classlist.SelectedRow;
    lbl_timetableuserid.Text = row.Cells[1].Text;


    ScriptManager.RegisterStartupScript(this, typeof(string), "New_Window", "window.open('Timetable_User.aspx?UserID=" + row.Cells[1].Text + "', null, 'height=360,width=640,status=yes,toolbar=yes,menubar=yes,location=no' );", true);
于 2014-05-15T01:35:34.287 回答