从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 不知道是啥