Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net C#:在GridView中添加新行_C#_Asp.net_Gridview - Fatal编程技术网

Asp.net C#:在GridView中添加新行

Asp.net C#:在GridView中添加新行,c#,asp.net,gridview,C#,Asp.net,Gridview,我正在尝试在GridViewon按钮上用标签的值创建新行: <Asp:Label id="Label1" runat="Server" Text="My name"> <Asp:Label id="Label2" runat="Server" Text="My Age"> <Asp:Label id="Label3" runat="Server" Text="My Gender"> 在按钮中单击,标签值将插入gridview 我尝试将标签值插入网格视图中,但

我正在尝试在
GridView
on按钮上用
标签的值创建新行

<Asp:Label id="Label1" runat="Server" Text="My name">
<Asp:Label id="Label2" runat="Server" Text="My Age">
<Asp:Label id="Label3" runat="Server" Text="My Gender">
按钮中单击
标签
值将插入gridview

我尝试将
标签
值插入
网格视图
中,但出现错误:
“数据绑定:'System.Data.DataRowView'不包含名为'name'的属性”


它是否有任何错误?@RahulHendawe我没有编写在按钮上单击的代码来将新行添加到gridview中,因此没有错误。通过提供的代码,尝试,您尝试将控件(从
gridview
)放入
标签
文本(??)。。。错误的和你想要的相反。。。即使你们选择正确的方式,你们仍然需要定义在哪一行寻找标签(
GridView
FindControl
)。@nelek我所知道的就是定义页脚行,比如:
GridView1.FooterRow.FindControl(…)
,但我不想使用页脚行。我该怎么办?如果需要向网格中添加一行,应该将该行添加到网格数据绑定到的列表/数据表/其他结构中。然后重新绑定网格。
    <Asp:Gridview runat="Server" Id="GridView1" AutoGenerateColumns="False">   
    <Columns>   

      <asp:TemplateField HeaderText="Name">
       <ItemTemplate>
        <asp:Label runat="server" ID="Name_lbl" Text='<%# Eval("Name")%>'></asp:Label>
      </ItemTemplate>
     </asp:TemplateField>   

     <asp:TemplateField HeaderText="Age">
       <ItemTemplate>
        <asp:Label runat="server" ID="Age_lbl" Text='<%# Eval("Age")%>'></asp:Label>
      </ItemTemplate>
     </asp:TemplateField> 

    <asp:TemplateField HeaderText="Gender">
       <ItemTemplate>
        <asp:Label runat="server" ID="Gender_lbl" Text='<%# Eval("Gender")%>'></asp:Label>
      </ItemTemplate>
     </asp:TemplateField> 

 </Columns>
</asp:GridView> 
      DataTable dt = new DataTable();
        DataRow dr;

        if (dt.Columns.Count == 0)
        {
            dt.Columns.Add("Name", typeof(string));
            dt.Columns.Add("Age", typeof(string));
            dt.Columns.Add("Gender", typeof(string));
        }

        foreach (GridViewRow gvr in GridView1.Rows)
        {
            dr = dt.NewRow();

            Label1.Text =( gvr.FindControl("Name_lbl") as Label).ToString();
            Label2.Text = (gvr.FindControl("Age_lbl") as Label).ToString();
            Label3.Text = (gvr.FindControl("Gender_lbl") as Label).ToString();

            dr[1] =  Label1.Text;
            dr[2] =  Label2.Text;
            dr[3] =  Label3.Text;


            dt.Rows.Add(dr); 
        }
        dr = dt.NewRow(); 
        dt.Rows.Add(dr);

        GridView1.DataSource = dt; 
        GridView1.DataBind();