分页控件问题 谢谢

uheart 2004-09-24 10:38:44
在分页控件中,我在 DataGrid1_UpdateCommand(....) 事件中想获取文本框(点击编辑后,出现的TextBox)的值,可是获取的总是原来值,有谁知道啊
strUpdate += "姓名='" + ((TextBox)e.Item.Cells[2].Controls[0]).Text + "'";//就是这句获取得总是变更前的值,为何啊?
...全文
109 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
uheart 2004-09-24
  • 打赏
  • 举报
回复
在private void DataGrid1_UpdateCommand(...)中,我的DBBind()函数总得要调用两次,不然DataGrid1.EditItemIndex = -1;这句就不起作用(恢复不了原来的浏览状态,还是编辑状态)是不是必须这么做啊?

private void Page_Load(object sender, System.EventArgs e)
{
string model = Request.QueryString["model"];
if(!IsPostBack)
{
DBBind();
}
}
private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DBBind();

strUpdate += "姓名='" + ((TextBox)e.Item.Cells[2].Controls[0]).Text + "'";
strUpdate += ",语文=" + ((TextBox)e.Item.Cells[3].Controls[0]).Text;
strUpdate += ",数学=" + ((TextBox)e.Item.Cells[4].Controls[0]).Text;
strUpdate += ",英语=" + ((TextBox)e.Item.Cells[5].Controls[0]).Text;
strUpdate = "UPDATE tbl_1 SET " + strUpdate + " WHERE 学号=" + (DataGrid1.DataKeys[(int)e.Item.ItemIndex]).ToString();
SqlCommand cmd3 = new SqlCommand(strUpdate,myConnection);
myConnection.Open();
cmd3.ExecuteNonQuery();
myConnection.Close();
DataGrid1.EditItemIndex = -1;

DBBind();

}
wxqq2001 2004-09-24
  • 打赏
  • 举报
回复
不放在if(!Page.IsPostBack)里页面刷新就会重新绑定数据。所以取到的数据永远是原来的。
uheart 2004-09-24
  • 打赏
  • 举报
回复
private void Page_Load(object sender, System.EventArgs e)
{

DBBind();//数据绑定函数,我未做IsPostBack判断,有关系吗?
}
webdiyer 2004-09-24
  • 打赏
  • 举报
回复
你没有把数据绑定代码放在 if(!Page.IsPostBack)块中。
uheart 2004-09-24
  • 打赏
  • 举报
回复
up

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧