На моей простой стартовой странице asp я создаю DataTable и заполняю его двумя строками. Веб-сайт позволяет пользователям добавлять новые строки. Моя проблема в том, что DataTable не сохраняет информацию. Я прошел через код, и строка была добавлена, но при следующем добавлении строки ее там нет, только две исходные и самая новая, которую нужно ввести.
Я справился с этим неэлегентным способом, но мне действительно любопытно, почему новые строки сохраняются.
Мой код:
protected void Page_Load(object sender, EventArgs e)
{
_Default.NameList = new DataTable();
DataColumn col = new DataColumn("FirstName", typeof(string));
_Default.NameList.Columns.Add(col);
col = new DataColumn("LastName", typeof(string));
_Default.NameList.Columns.Add(col);
DataRow row = _Default.NameList.NewRow();
row["FirstName"] = "Jane";
row["LastName"] = "Smith";
_Default.NameList.Rows.Add(row);
row = _Default.NameList.NewRow();
row["FirstName"] = "John";
row["LastName"] = "Doe";
_Default.NameList.Rows.Add(row);
}
protected void AddButton_Click(object sender, EventArgs e)
{
DataRow row = _Default.NameList.NewRow();
row["FirstName"] = this.TextBox1.Text;
row["LastName"] = this.TextBox2.Text;
_Default.NameList.Rows.Add(row);
_Default.NameList.AcceptChanges(); // I've tried with and without this.
}
Я пытался сохранить их в элементе управления GridView, но это кажется довольно сложной работой.
Я новичок в ASP.Net, но последние два года занимался программированием Windows на C #.