从GridView取出ID值到TextBox,再添加到数据库的问题
我用GridView读取了一个表  
定义了 <ItemTemplate>
              <asp:Button ID="Button4" runat="server" Text="选择"  CommandName="select" CommandArgument='<%# Eval("xmjdid") %>'/>
          </ItemTemplate>
protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
     {
        // TextBox1.Text = GridView2.DataKeys[e.].Value.ToString();
         if (e.CommandName=="select")
         {
             GridViewRow drv=((GridViewRow)((Button)(e.CommandSource)).Parent.Parent);
             TextBox1.Text=GridView2.DataKeys[drv.RowIndex].Value.ToString();
         }
     }
这个点击没有问题 TextBox1 有 xmjdid 的值  
然后在BUTTON事件里定义
protected void Button1_Click(object sender, EventArgs e)
     {
         //添加进度到xxch_xmjdjd
         string id1 = TextBox1.Text; //编号
string sql2 = "insert into [xxch_xmjdjd] (xmjdid) values('" + id1 + "')";
         bc.ExecSQL(sql2);
//bc.ExecSQL(sql2)是定义在App_Code 里写好了的BaseClass.cs 可以执行SQL语句  
//在事情前已定义好BaseClass bc = new BaseClass();
}
现在的问题是 自己在TextBox1 任意字符都能成功写到数据库里,而点了Button4 ,把GridView2的xmjdid取值到TextBox1 后,再点 Button1就没任何反应。。
郁闷中。。。。。
------解决方案--------------------
如果你的TextBox1仅仅是为了显示id你可以设为enable 这样你就不能编辑他了,每次插入数据库前只要判断他是为空就行吧,至于你说的Button4 不知道是啥