【问题标题】:Unable to open new tab on linkbutton click无法在链接按钮单击时打开新标签
【发布时间】:2018-07-10 06:12:18
【问题描述】:

我在 gridview 项目模板中有一个链接按钮,我正在尝试以下方法在新选项卡中打开,但它不起作用。

HTML:

 <asp:TemplateField HeaderText="ID">
 <ItemStyle HorizontalAlign="Right" />
     <ItemTemplate>
        <asp:LinkButton ID="lnkbtnID" runat="server"  
         CommandArgument='<%# Eval("ID") %>' Font-Underline="true"      
         OnCommand="lnkbtnID_Click" ForeColor="Black" 
         Text='<%# Eval("ID") %>' />
     </ItemTemplate>
 </asp:TemplateField>

CS:

protected void lnkbtnID_Click(Object sender, CommandEventArgs e)
    {
        try
        {
            if (e.CommandArgument != null)
            {
                if (e.CommandArgument != null)
                {
                    GridViewRow gvr = (GridViewRow)(sender as LinkButton).NamingContainer;                        
                    string strID = ((LinkButton)gvr.FindControl("lnkID")).Text;
                    string strItemID = ItemDAL.GetItemID(strID, "Metal");
                    string strURL = "~/ASP/Price.aspx?=" + strItemID;
                    Response.Redirect(strURL);
                }
            }
        }
        catch (Exception Ex)
        {

        }
    }

我尝试在 html 控件中添加OnClientClick="aspnetForm.target ='_blank';",但没有帮助。

谁能建议如何做到这一点。

【问题讨论】:

  • 尝试在 GridView 中设置此代码 RowDataBound 事件:var lb = (LinkButton)gvr.FindControl("lnkID") 然后 lb.Attributes.Add("href","~/path/to/target.aspx") & lb.Attributes.Add("target","_blank"),或使用 asp:HyperLink 并将 NavigateUrl 设置为目标页面。
  • @TetsuyaYamamoto - 我尝试添加代码,它只在第二次点击时有效。
  • Page_Load 或在RowDataBound 之前运行的其他事件(记住页面生命周期)中添加另一个lb.Attributes.Add("target","_blank") 怎么样?
  • 如果您使用Response.Redirect,则无法打开新标签页。但是,如果您所做的只是重定向,为什么要完全隐藏代码而不创建普通的 html 链接。直接在aspx上使用strItemID即可。

标签: c# asp.net .net gridview


【解决方案1】:

你可以使用

<asp:LinkButton id="lnkbtnID" OnClientClick="aspnetForm.target ='_blank';" runat="Server" />

还有其他方法

lnkbtnID.Attributes.Add("href","Some.aspx")
lnkbtnID.Attributes.Add("target","_blank")

【讨论】:

    猜你喜欢
    • 2012-02-12
    • 2019-04-12
    • 2022-07-30
    • 1970-01-01
    • 1970-01-01
    • 2014-05-26
    • 1970-01-01
    • 2021-11-26
    • 2012-04-18
    相关资源
    最近更新 更多