Luc*_*tos 4 c# asp.net ado.net gridview
我想从GridView中的TextBox获取Text属性.此TextBox包含来自我的数据库的一些数据.当我更改此数据时,我想在我的数据库中进行更新.
但是当我搜索TextBox的Text时,他得到了来自我的数据库的旧值,而不是我现在放的值.
如何获取我在TextBox中编写的实际数据,而不是来自我的数据库?
protected void VerifyPriority()
{
for (int i = 0; i < GridView1.Rows.Count; i++)
{
GridViewRow RowView = (GridViewRow)GridView1.Rows[i];
TextBox txt = (TextBox)GridView1.Rows[i].FindControl("txtPriority");
if (txt != null)
{
if (txt.Text != this.changes[i])
{
this.UpdatePriority(this.codigo[i], txt.Text);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
很可能你是在每次回发后重新绑定GridView而不是绑定它一次并让ViewState持久保存数据.如果每次回发页面时绑定GridView,您所做的任何更改都将被删除并替换为数据库中的信息.
仅对第一页加载绑定(在这种情况下):
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
GridView1.DataSource = GetSomeData();
GridView1.DataBind();
}
}
Run Code Online (Sandbox Code Playgroud)
将上面的代码放在适当的位置后,您应该能够从TextBox中获取正确的数据:
foreach (GridViewRow row in GridView1.Rows)
{
TextBox txt = row.FindControl("TextBox1") as TextBox;
if (txt != null)
{
string value = txt.Text;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4904 次 |
| 最近记录: |