注册 登录
编程论坛 ASP.NET技术论坛

gridview里的编辑功能o怎么实现--自己写了点可是。。。。

雪夜白狼 发布于 2008-05-14 19:52, 724 次点击
代码如下:
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;//设置编辑索引
        this.getbinder();

    }

 protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        OleDbConnection conn;
        conn = DB.DBconntionadmin();
        conn.Open();

        string ID = this.GridView1.DataKeys[e.RowIndex].Value.ToString();
        GridViewRow row = this.GridView1.Rows[e.RowIndex]; //定义更新行对象
        string sql3 = "update admin set username='" + ((TextBox)(row.Cells[1].Controls[0])).Text.ToString() + "' and userpwd='" + ((TextBox)(row.Cells[1].Controls[2])).Text.ToString() + "' and popedom='" + ((TextBox)(row.Cells[1].Controls[3])).Text.ToString() + "' where id=" + ID;
        OleDbCommand com = new OleDbCommand(sql3,conn);
        com.ExecuteNonQuery();
        GridView1.EditIndex = -1;
        conn.Close();
        getbinder();}


当点击编辑的时候
当前行并不显示编辑状态
如果点击更新显示错误:

无法将类型为“System.Web.UI.DataBoundLiteralControl”的对象强制转换为类型“System.Web.UI.WebControls.TextBox”。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidCastException: 无法将类型为“System.Web.UI.DataBoundLiteralControl”的对象强制转换为类型“System.Web.UI.WebControls.TextBox”。


是怎么会是啊?
0 回复
1