首页 > 解决方案 > 有没有办法在重定向时将 LinkBut​​ton 内容从一个传递到另一个?

问题描述

我想将在 GridView 中单击的会话项从一个页面传递或存储到另一个页面,并将相同的参数传递给我的存储过程以获取特定字段的数据。

我创建了一个网格视图,其中数据来自存储过程。GridView 字段之一是 LinkBut​​ton。因此,单击链接按钮时,它应该在新选项卡中显示申请人的所有详细信息。该页面正在被重定向,但我无法存储或传递代码中提到的“APPL_REF_NO”特定字段。

ASP 代码

<asp:GridView ID="gvServiceApplication" runat="server" AutoGenerateColumns="false" EmptyDataText="No Data Found"
    Width="100%" HeaderStyle-BackColor="#facf5a"
    HeaderStyle-ForeColor="Black" RowStyle-BackColor="White"
    RowStyle-ForeColor="Black">
    <Columns>
        <asp:TemplateField HeaderText="ApplicationNo">
            <ItemTemplate>
                <asp:LinkButton ID="lblApplicationNo" runat="server" Text='<%#Eval("APPL_REF_NO") %>' OnClick="btnApplicantDetails_Click"></asp:LinkButton>
            </ItemTemplate>
         </asp:TemplateField>


protected void btnApplicantDetails_Click(object sender, EventArgs e)
{
     Page.ClientScript.RegisterStartupScript(
          this.GetType(), "OpenWindow", "window.open
          ('ApplicantDetails.aspx','_blank');", true);
}


private void ApplicationDetailBind()
{
    try
    {
    DataTable dtApplicationDetail = new DataTable();
    dtApplicationDetail = objDepartmentWiseBA.getApplicantDetails(applicationnumber).Tables[0];
    gvApplicationIndetail.DataSource = dtApplicationDetail;
    gvApplicationIndetail.DataBind();
    }
    catch (Exception)
    {
         throw;
    }
}

我们需要根据从 LinkBut​​ton 传递的参数显示应用程序详细信息。传递的此参数将再次在 StoredProcedure 中用于绑定申请人详细信息页面中的另一个网格。谢谢

标签: c#asp.net

解决方案


在链接按钮单击事件中使用以下行代替第二行。

该方法是将所需的值作为查询字符串参数传递给 ApplicationDetails.aspx 页面。然后可以使用第二个代码片段轻松获得查询字符串参数。

链接按钮单击事件中的第二行

this.GetType(), "OpenWindow", 
 String.Format("window.open('ApplicantDetails.aspx?applRefNo={0}','_blank');", (sender as LinkButton).Text ), true);

然后在您的目标页面中,您可以使用以下 C# 代码来获取APPL_REF_NO.

获取目标页面中的值

var applRefNoValue =  Request.QueryString["applRefNo"];

推荐阅读