我正在关注本教程http://www.c-sharpcorner.com/Blogs/8274/insert-data-in-grid-view-without-using-database.aspx。 我和其中的做法完全相同。基本上我必须在没有数据库的网格视图中存储值。现在的问题是,当用户第二次单击Button1_Click()(如本教程中所述)按钮时,前一行将被丢弃。我希望每当用户点击按钮时,该值应该保存在网格中。请帮帮我!!!
DataTable dt;
protected void btnUpload_Click(object sender, EventArgs e)
{
DataRow dr = dt.NewRow();
dr[0] = txtUrl.Text;
dt.Rows.Add(dr);
grdDummy.DataSource = dt;
grdDummy.DataBind();
}
private void BindGrid()
{
dt = new DataTable();
DataColumn dc1 = new DataColumn("Name");
dt.Columns.Add(dc1);
DataRow dr = dt.NewRow();
grdDummy.DataSource = dt;
grdDummy.DataBind();
}
请注意,在page_load事件中调用BindGrid()。
答案 0 :(得分:0)
尝试以下代码: 首先制作Serializable Class,其中包含您的字段,例如
`[Serializable]
public class Class1
{
public Class1()
{
//
// TODO: Add constructor logic here
//
}
public string Name { get; set; }
public string Address { get; set; }
}
然后在您的页面上,使用以下代码:
protected void Page_Load(object sender, EventArgs e)
{
}
Class1 obj = new Class1();
static List<Class1> lst = new List<Class1>();
protected void Button1_Click(object sender, EventArgs e)
{
obj.Name = TextBox1.Text;
obj.Address = TextBox2.Text;
lst.Add(obj);
GridView1.DataSource = lst;
GridView1.DataBind();
}
设计页面
<asp:GridView runat="server" ID="GridView1" AutoGenerateColumns="true">
</asp:GridView>
希望它有所帮助。 :)