首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

帮小弟我看看这段代码有什么有关问题

2012-02-23 
帮我看看这段代码有什么问题一个GridView,在GridView的更新事件下,我隐藏GridView,显示一个FormView,显示

帮我看看这段代码有什么问题
一个GridView,在GridView的更新事件下,我隐藏GridView,显示一个FormView,显示内容的条件是GridView的当前行ID,然后FormView里有一个删除按钮,我在这下面输入msgID,为什么没反应呢?输出一串字符串是可以的。
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
  {
  msgID = GridView1.DataKeys[e.RowIndex].Values[0].ToString();
  FormView1.Visible = true;
  GridView1.Visible = false;
  db.RunSQL("select * from message where msgID='" + msgID + "'", ref ds, "msg");
  FormView1.DataSource = ds.Tables["msg"].DefaultView;
  FormView1.DataBind();
  }

protected void btnDelete_Click(object sender, EventArgs e)
  {
  Response.Write(msgID);
  Response.Write("aaaaaaaa");
  }


[解决办法]
不是没反应,是msgID为空了,使用静态变量或者viewstate来存储msgID。
[解决办法]
http://www.blueshop.com.tw/board/show.asp?subcde=BRD20070923191343HDH&fumcde=FUM20041006161839LRJ
[解决办法]
你的代码msgID 生命周期只限于GridView1_RowUpdating中~
[解决办法]
因为btnDelete_Click事件是一个服务器事件,在调用它之前页面会重新加载,在加载的时候msgID又回到了默认值状态null
所以Response.Write(msgID); 看不出输出结果;如果想看到的话,建议你用session或viewstate把它存起来,然后再从里面读就可以了

热点排行