日期:2014-05-19  浏览次数:20467 次

asp.net修改更新还是原来的值
在asp.net中,我在datagrid进行编辑修改时,当点击更新保存的时候更新不到数据,还是原来的值,请问为什么?更新代码如下:
private   void   Dbgrid1_UpdateCommand(object   source,   System.Web.UI.WebControls.DataGridCommandEventArgs   e)
{
string   upsql= "Update   Jbmaterieltype   set   materieltypename=@materieltypename   where   materieltypeid=@materieltypeid ";
this.mycon.Close();
SqlCommand   mycomt=this.mycon.CreateCommand();
mycomt.CommandText=upsql;
mycomt.Parameters.Add(new   SqlParameter( "@materieltypename ",System.Data.SqlDbType.VarChar,30));
mycomt.Parameters.Add(new   SqlParameter( "@materieltypeid ",System.Data.SqlDbType.VarChar,20));
mycomt.Parameters[ "@materieltypeid "].Value=this.Dbgrid1.DataKeys[(int)e.Item.ItemIndex];
mycomt.Parameters[ "@materieltypename "].Value=((TextBox)e.Item.FindControl( "materieltypenametxt ")).Text;
try
{
this.mycon.Open();
mycomt.ExecuteNonQuery();
}
catch
{
Response.Write( " <script   lange=Javascript> alert( '更新失败!!! ') </script> ");
}
this.Dbgrid1.EditItemIndex=-1;
this.Opendata();

}

------解决方案--------------------
可能是没重新绑定数据哈
------解决方案--------------------
感觉楼主写代码的习惯不是太好,要规范一下。
------解决方案--------------------
这个问题见多了,基本上全是一个问题引起的:在Page_Load中绑定数据时没有把绑定代码放在 if(!IsPostBack)块中!!

======================================
.net开发资源收集:www.dotneturls.com/gb.aspx
------解决方案--------------------
Page_Load()
{
if (!ispostback)
{
//写代码
}
}