【发布时间】:2013-04-10 04:26:00
【问题描述】:
背景
所以我几天前才开始在ASP.Net 工作。在我的网页上,我正在为用户创建一个联系人表以填充然后提交到数据库。现在我让用户在各种文本框中输入信息,然后单击“添加联系人”按钮,然后将内容添加到存储在Session 对象中的DataTable。我的GridView 的DataSource 是DataTable。
当前状态
更新点击事件代码
每当我单击“添加联系人”按钮时,我的GridView 中都会添加一个新行,但GridView 的单元格中没有显示任何内容。
代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
dt.Columns.Add("First", typeof(String));
dt.Columns.Add("Last", typeof(String));
dt.Columns.Add("Email", typeof(String));
dt.Columns.Add("Phone", typeof(String));
Session["TempTable"] = dt;
GridView1.DataSource = dt;
}
else
{
dt = (DataTable)Session["TempTable"];
GridView1.DataSource = dt;
}
}
protected void AddButton_Click(object sender, EventArgs e)
{
dt = (DataTable)Session["TempTable"]; // Fetching datatable from session
DataRow dr = dt.NewRow(); // Adding new row to datatable
dr[0] = "Jenny";
dr[1] = "LastName";
dr[2] = "Jenny@hotmail.com";
dr[3] = "867-5309";
dt.Rows.Add(dr);
Session["TempTable"] = dt; // update datatable in session
GridView1.DataSource = dt; // updated datatable is now new datasource
GridView1.DataBind(); // calling databind on gridview
}
问题
GridView 中是否有我没有设置的属性,或者我的代码有什么根本错误?对解决方案的任何帮助都会很棒。提前致谢。
解决方案
我对我的AddButton_Click 事件进行了 Bart De Meyer 的建议更改,并将我的GridView 的AutoGenerateColumns 属性设置为true。
【问题讨论】:
-
我刚刚复制并粘贴了您的代码,它对我有用。您是否还有其他未发布的代码?
-
不,可能是 GridView 设置。
-
确实如此。 AutoGenerateColumns 设置为 false。
标签: c# asp.net session gridview datatable