GridView 中自带了 修改/删除功能,在每行的末尾,但是在“每一行”的末尾都会显示。怎样只在其中的一行显示呢?
比如,有一个选课系统,每个学生选课后都可以在 GridView 中查看自己的和别人的选课信息,如果 GridView 每行都显示修改/删除的话,那该学生也可以修改别人的数据了,明显是不可以的。初学者,还请多多指教。 :)
比如,有一个选课系统,每个学生选课后都可以在 GridView 中查看自己的和别人的选课信息,如果 GridView 每行都显示修改/删除的话,那该学生也可以修改别人的数据了,明显是不可以的。初学者,还请多多指教。 :)
查看自己的和别人的可以分两个页面或两个gridview吗。
或者将别人的那行的删除修改的enable给设为false
还有点击删除修改的时候先判断一下session和主键(学号)是不是对应起来
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.Cells[1].Text != "20103401")
e.Row.Cells[0].Text = string.Empty;
}
以上假定:下标为0的列存放修改或删除按钮,下标为1的列存放学号,"20103401"可以来自Session["学号"]
进入GridView的设计器(不是vs属性窗体),将此列“改为模板列”。然后你就可以把这个模板列改到任何列位置,而不用放在最后。然后,你可以修改代码,例如<asp:Button raunat="server" Enable='<%# GetEnable((int)Eval("userId")) %>' ..... />protected bool GetEnable(int userId)
{
return 查询数据库判断是否可修改(userId);
}界面上的事情就用界面上来设计,在asp.net控件的属性上绑定数据,就行了!