C# 如何以编程方式在按钮单击处理程序中将新行添加到gridview?
这是我的标记:C# 如何以编程方式在按钮单击处理程序中将新行添加到gridview?,c#,asp.net,C#,Asp.net,这是我的标记: <asp:Button runat="server" ID="btnabc" Text="Hello" onclick="abc_Click" /> <br /> <br /> <asp:GridView runat="server" ID="test" AutoGenerateColumns="false"> <Columns> <asp:TemplateF
<asp:Button runat="server" ID="btnabc" Text="Hello"
onclick="abc_Click" /> <br /> <br />
<asp:GridView runat="server" ID="test" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox runat="server" ID="txt" Text = "<%# Container.DataItem %>" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我找不到任何像
gridview.Rows.Add()这样的方法,您没有。但是您可以简单直接地向网格的数据源添加一个新项,您就完成了。尝试向数据源对象添加一行,然后重新绑定GridView。是的,这是最简单的方法,但我正在尝试以编程方式添加控件。gridview.Controls.Add(行);其中row是GridViewRow工作的实例。但这只适用于第一次。知道为什么吗?是的:当你这样做时,它不会进入ViewState,所以它会丢失。每次回邮你都得继续这样做。说真的,最好还是处理数据源。您确实意识到,比如说,对象列表可以是一个数据源,对吗?也许你们可以探索一下。是的,我知道你们可以设置列表,并根据你们的gridview模板来布局项目。正如我所说的,最简单也是最好的解决方案!但我只是尝试一些新的东西,但我明白这是不可能的。谢谢。从技术上讲,这是可能的。这比管理一个简单的自定义对象列表需要更多的工作。希望有帮助:)
protected void abc_Click(object sender, EventArgs e)
{
}