【问题标题】:How to open a link in a new tab using ASP Link Button Property?如何使用 ASP 链接按钮属性在新选项卡中打开链接?
【发布时间】:2016-02-17 09:28:24
【问题描述】:

我有一个带有模板的gridview,它包含一个LinkBut​​ton。当我单击按钮时,我想在新标签中打开一个链接

 <Templates>
 <Obout:GridTemplate runat="server" ID="tempCurrTask">
     <Template>
         <asp:LinkButton Text='<%# Container.DataItem["CurrentTask"] %>' ID="lnkbtnview2"
                runat="server" Font-Underline="true" OnCommand="SELREC" CommandArgument='<%# Container.PageRecordIndex %>'></asp:LinkButton>
     </Template>
</Obout:GridTemplate>

而SELREC函数是

protected void SELREC(object sender, CommandEventArgs e)
{

        int rowIndex = int.Parse(e.CommandArgument.ToString());
        Hashtable dataItem = grvLeads.Rows[rowIndex].ToHashtable() as Hashtable;
        string id = Convert.ToString(dataItem["iTask_id"]); //.Split('|');
        string rowIndexid = id.ToString();
            //+ "/" + e.CommandName.ToString();
        //ScriptManager.RegisterStartupScript(this, typeof(string), "openWindow", "window.open('Task.aspx?TaskID=" + rowIndexid.Trim() + "', '_newtab','left = 10, top=10,scrollbars=Yes,resizable=yes,width=1100,height=580'); ", true);
        Response.Redirect("Task.aspx?TaskID=" + rowIndexid.Trim());

}

此链接在同一选项卡中打开。我希望它在新选项卡中打开,所以我将 asp:LinkBut​​ton 更改为 asp:HyperLink 标记,但 SELREC 函数未正确调用。我想使用 LinkBut​​ton 来做,但我不知道如何使用链接按钮来做。所以请任何人帮助我提供示例代码。

【问题讨论】:

  • 我不认为服务器端代码能够处理这个问题。我只会使用 javascript。

标签: c# jquery asp.net asplinkbutton obout


【解决方案1】:

试试这个方法;

<asp:LinkButton runat="server" href='<%# "Task.aspx?TaskID=" + MethodtoGenerateTaskId(parameter) %>'   target="_blank">LinkButton</asp:LinkButton>

您应该在 c# 代码隐藏中定义 MethodtoGenerateTaskId(parameter)。将 CommandArgument 作为该方法的参数。

protected string MethodtoGenerateTaskId(string command_arg)
 {

  int rowIndex = int.Parse(command_arg.ToString());
    Hashtable dataItem = grvLeads.Rows[rowIndex].ToHashtable() as Hashtable;
    string id = Convert.ToString(dataItem["iTask_id"]); //.Split('|');
    string rowIndexid = id.ToString();

   return rowIndexid.Trim();
  }

在标记中;

<asp:LinkButton runat="server" href='<%# "Task.aspx?TaskID=" +      MethodtoGenerateTaskId(Container.PageRecordIndex.ToString()) %>'    target="_blank">LinkButton</asp:LinkButton>

如果它有效;请将其标记为答案...

【讨论】:

  • 我想在哪里定义“ MethodtoGenerateTaskId(parameter) ”?在 Java 脚本或 C# 中?上面给出的方法是有效的,但这里的问题是,我无法传递任务 ID。所以请帮我写一些定义方法的代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-23
  • 1970-01-01
  • 1970-01-01
  • 2022-07-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多