如何使用GridView On RowCommand事件打开新窗口

How to open a new window by using GridView On RowCommand Event?

本文关键字:新窗口 窗口 GridView 何使用 On RowCommand 事件      更新时间:2023-09-26

我有一个asp GridView,我正在使用RowCommand,并从这个页面获取一些值到另一个页面,我想在新窗口中打开该页面。

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
   if (e.CommandName == "Trans")
   {
       Response.Redirect("APIwiserecharge.aspx?
       DisplayID="objdl.Encode(e.CommandArgument.ToString()));
   }
}

在.aspx页面上,我使用了这个。

            <asp:TemplateField HeaderText="APIDetails" ItemStyle-Width="200px">
              <ItemTemplate>
              <asp:LinkButton ID="trans" runat="server"CommandName="TransText="Details" 
              CommandArgument = '<%#Eval("DisplayID") %>'> 
               </asp:LinkButton>
             </ItemTemplate>
            </asp:TemplateField>

请尝试使用以下代码片段。

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "Trans")
    {
        Response.Write("<script>window.open('APIwiserecharge.aspx?DisplayID=' + objdl.Encode(e.CommandArgument.ToString()) ,'_blank');</script>");
        //OR
        ScriptManager.RegisterStartupScript(Page, typeof(Page), "OpenWindow1", "window.open('APIwiserecharge.aspx?DisplayID=" + objdl.Encode(e.CommandArgument.ToString()) + "');",true);
        //OR
        Page.ClientScript.RegisterStartupScript(GetType(), "OpenWindow1", "window.open('APIwiserecharge.aspx?DisplayID=" + objdl.Encode(e.CommandArgument.ToString()) + "');", true);
    }
}