从用户控件类中查找GridView的控件

时间:2016-02-01 19:33:26

标签: c# asp.net gridview

我的用户控制页面中定义了一个名为GridControl.ascx的

<asp:GridView ID="GridProd" runat="server" RowStyle-CssClass="GridProdGrid" 
    BackColor="White" BorderColor="#DEDFDE" BorderStyle="None"
    BorderWidth="1px" CellPadding="10" ForeColor="Black" GridLines="Vertical" 
    AutoGenerateEditButton="True" OnRowEditing="GridProd_RowEditing" 
    AllowSorting="True" OnSorting="Set_Sort" DataKeyNames="ProductID" 
    AutoGenerateColumns="False" AutoGenerateSelectButton="True" 
    OnSelectedIndexChanging="GridProd_SelectedIndexChanging">

我在ProductList.aspx上使用此控件。 基本上我想在我的另一个名为ItemList.aspx的页面上只显示所选项目。我试图使用以下代码,但它抛出空引用异常。

GridView gd = (GridView)this.Page.PreviousPage.FindControl("GridProd");

/*For each row in GridView gd obtained from previous page*/
foreach (GridViewRow rows in gd.Rows)
{
    /*We will get the checkbox to check if it's checked or not*/
    CheckBox cb = (CheckBox)rows.FindControl("checktoadd");

    if (cb.Checked)
    {
        string prodname = rows.Cells[2].Text;
        string prodprice = rows.Cells[4].Text;
        string categoryname = rows.Cells[5].Text;
        dt.Rows.Add(prodname,prodprice,categoryname);
    }

    /*Binding the datatable to the new gridview*/
    gridorderlist.DataSource = dt;
    gridorderlist.DataBind();
}

当我没有使用usercontrol时,我在ProductList.aspx页面中定义了这个gridview,它运行正常。我很困惑如何访问usercontrol页面中定义的gridview。

0 个答案:

没有答案