GridView第一列是CheckBox,最后一列是删除,在Load事件里加上了if(!IsPostBack)这个判断,复选框被选中时能返回值,但删除功能报错,当不用if(!IsPostBack)这个判断,直接加载GridView时,删除功能正常,但复选框被选中时不能返回值,小弟很是费解,不知何因,求各路英雄帮忙,不慎感激。
解决方案 »
- 求助 动态生成DataTable数据量过大
- vb代码 改成 c# 代码 有高手的 请帮帮忙 !!
- 第一次学二进制流保存图片,具体的关键的代码不太懂,能否请论坛的里的大虾指点
- b/s结构,如何导入excel里的数据
- C#能不能访问Delphi中的RecordSet数据集?》??????
- C#中时间运算问题请指点
- 要做个网络故障管理系统,请教C#网络编程的书推荐!!!!
- 各位高人请进,我在好多论坛文了这个问题都没有人告诉我,希望水源大虾能够帮忙,谢谢!!!
- 在webBrowser中显示图片的时候,如果图片是内存中的流(非物理文件),该如何处理。?
- 中国最全的书籍下载!
- C#" 酷点"软件的效果怎么做出来?圆形界面和桌面中央滚动的效果?
- Marshal.SizeOf的NotSupportedException异常问题
{
if (Session["teachersid"] == null)
{
Response.Redirect("login.aspx");
}
else
{
if (!IsPostBack)
{
GridViewBind();
}
}
}
protected void GridViewBind()
{
int flag=1;
if ((string)Session["teachersid"] == "admin")
{
GridView1.DataSource = UsersManager.BllGetAllUsersInfo(flag);
}
else
{
flag = 0;
GridView1.DataSource = UsersManager.BllGetAllUsersInfo(flag);
}
GridView1.DataBind();
}
protected void ImageButtonDelete_Click(object sender, ImageClickEventArgs e)
{
for (int i = 0; i < this.GridView1.Rows.Count; i++)
{
bool isChecked = ((CheckBox)GridView1.Rows[i].FindControl("chkSelected")).Checked;
if (isChecked)
{
string userID = GridView1.Rows[i].Cells[2].Text;
if (UsersManager.DeleteUserByUserId(userID))
{
//Response.Write("<script language=javascript>alert('删除成功!')</script>");
lblMessage.Text = "删除成功!";
}
else
{
//Response.Write("<script language=javascript>alert('" + userID + " 删除失败!')</script>");
lblMessage.Text = "'" + userID +" ' 删除失败!";
} }
}
GridViewBind();
}
BindData();
foreach (RepeaterItem item in Repeater1.Items)
{
CheckBox Chk= (CheckBox)item.FindControl("chk");//通过Hiddenfiled获取ID
if(Chk.Checked)
{
}
}
服务端控件要刷新
<input type="checkbox" name='ckbName' value='<%# Container.DataItem%>' /><%# Container.DataItem%>
</ItemTemplate>
protected void btn_Click(object sender, EventArgs e)
{
value = Request.Form["ckbName"];}