急急急急急急急:GridView中不执行RowDeleting 事件,怎么办?????????????????? 10
后台:protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse){if(e.Row.R...
后台:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
{
((LinkButton)e.Row.Cells[10].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你确认要删除该课程信息吗?')");
}
}
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["strcon"]);
con.Open();
string id = GridView1.DataKeys[e.RowIndex].Value.ToString();
SqlCommand scd = new SqlCommand("delete from ts_xs_chooseCoursesInfo where id='" + id + "'", con);
scd.ExecuteNonQuery();
con.Close();
this.bind();
} 展开
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
{
((LinkButton)e.Row.Cells[10].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你确认要删除该课程信息吗?')");
}
}
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["strcon"]);
con.Open();
string id = GridView1.DataKeys[e.RowIndex].Value.ToString();
SqlCommand scd = new SqlCommand("delete from ts_xs_chooseCoursesInfo where id='" + id + "'", con);
scd.ExecuteNonQuery();
con.Close();
this.bind();
} 展开
2个回答
展开全部
检查你的数据源是否带有删除操作?
<asp:SqlDataSource DeleteCommand="delete ..."
<asp:SqlDataSource DeleteCommand="delete ..."
更多追问追答
追问
我的DataSource是用代码绑定的,你说的这个<asp:SqlDataSource DeleteCommand="delete ..."要放哪里?
GridView1.DataSource = ds.Tables["ts_xs_chooseCoursesInfo"];
追答
GridView1进行数据源绑定时有2钟方式,分别用DataSource和DataSourceID两个属性中的一个。
我说的这段代码是用的后者,绑定的是一个SqlDataSource控件
你使用的方式是DataSource属性,那么就要自己实现增删改的操作。
1、在GridView控件中添加一个模版列,
2、模版列中添加一个按钮,将CommandName设置为delete
3、当点击这个按钮时会触发RowDeleting事件
4、在RowDeleting事件中实现删除
下面是参考代码,你看看;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DBBind();
}
}
private void DBBind()
{
DataTable dt = new DataTable();
dt.Columns.Add("id", typeof(int));
dt.Columns.Add("name", typeof(string));
dt.Rows.Add(11, "张三");
dt.Rows.Add(22, "李思");
dt.Rows.Add(23, "张三风");
dt.Rows.Add(44, "王武");
dt.Rows.Add(75, "赵柳");
//告诉GridView绑定数据表的主键列名
GridView1.DataKeyNames = new string[] { "id" };
GridView1.DataSource = dt;
GridView1.DataBind();
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
//获得要删除行的主键值
Response.Write(e.Keys[0].ToString());
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你断点进去,没执行吗?你检查下窗体上,属性-事件里面是不是选了该事件
更多追问追答
追问
选择了的,
OnRowDataBound="GridView1_RowDataBound"
断点调试没用的,根本执行不到那里
追答
把那个加确定删除的js先去掉试试看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询