如何使用C#和ASP.NET将数据从Gridview行解析到另一个页面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用C#和ASP.NET将数据从Gridview行解析到另一个页面相关的知识,希望对你有一定的参考价值。

我想从ASP.NET中的Gridview解析一行数据到显示上一页行数据内容的第二页。我的Gridview已经链接到数据库。

我目前的Gridview看起来像这样:

enter image description here

当我点击发送详细信息超链接时,我想实现这一点:

enter image description here

如果我单击第二行,该行的数据将显示在下一页中

以下代码是我在链接按钮itemTemplate下面的代码:

<ItemTemplate>
       <asp:Label ID="Label1" runat="server" Text='<%# Bind("name") %>'></asp:Label>
       <asp:LinkButton ID="viewTours" runat="server" CommandName="view" CommandArgument='<%# Bind("name") %>' PostBackUrl='<%#"~/details.aspx?RowIndex=" + Container.DataItemIndex %>'>View</asp:LinkButton>
        </ItemTemplate>

这是我要从第二页加载数据的页面加载方法。

     protected void Page_Load(object sender, EventArgs e)
    {

    if (this.Page.PreviousPage != null)
    {
        int rowIndex = int.Parse(Request.QueryString["RowIndex"]);
        GridView GridView = (GridView)this.Page.PreviousPage.FindControl("GridView");
        GridViewRow row = GridView.Rows[rowIndex];
        name.Text = (row.FindControl("name") as Label).Text;
        //name.Text = row.Cells[0].Text; (this did not work either, i got the same error)
    }
}

然而,我在name.Text上得到了一条波浪线,说它不存在,即使我在html(第二)页面的设计视图中有一个带有id名称的标签。

我怎样才能使我能够将选定的Gridview行中的数据解析到另一个页面?假设我可以自定义第二页并将标签放在我喜欢的任何地方。

这是我的gridview的代码。由于我的绑定是通过UI完成的,因此我没有太多的代码,除了将选定的gridview行重定向到另一个页面。

    protected void GridView_SelectedIndexChanged(object sender, EventArgs e)
{
    Session["tour"] = GridView;
    Response.Redirect("tourDetails.aspx");


}

我仍然得到标签文本不存在的错误,当它实际存在于页面本身时。

enter image description here

带有id = name的标签图片:

enter image description here

我的标签包含runat =“server”:enter image description here

答案

您将绑定数据与结构混淆。当你试图用name键获得一个控件时,你真的是指Label1,所以改变

name.Text = (row.FindControl("name") as Label).Text;

name.Text = (row.FindControl("Label1") as Label).Text;

以上是关于如何使用C#和ASP.NET将数据从Gridview行解析到另一个页面的主要内容,如果未能解决你的问题,请参考以下文章

如何使用展开和折叠数据行的选项将页脚模板添加到 gridview?C#/ASP.NET

如何使用 c# asp.net 从 url 获取数据?

显示从 ASP.NET MVC 中的命令行进程获取的数据

如何将数据从引导菜单项发送到 ASP.NET MVC 控制器

如何将数据从 asp.net 推送到 flash/silverlight 客户端?

如何通过 C# ASP.net 从 SQL Server 中的文本框中存储日期