回发后Asp.net Checkbox问题

时间:2016-02-08 22:40:23

标签: c# asp.net checkbox postback

这是一个带有C#的

的asp.net项目

我的RewriteEngine on RewriteCond %{HTTP_HOST} ^((?!www).+)\.domain\.com$ [NC] RewriteRule ^((?!subdomains/).*)$ subdomains/%1/$1 [L,NC] 有一个复选框列。用户通过单击相应的复选框选择一行。然后,他们可以通过执行各种操作(主要是按钮点击)来执行此行。我遇到的问题是,当用户单击按钮时,将刷新gridview。大多数情况下,这包括一行被删除。当用户选择另一个复选框(gridview中的另一行)进行操作时,您可以简单地看到它复选框,然后立即取消选中该复选框,或者选中他们想要选择的复选框下方的复选框。发生这种情况时,GridView不会触发。但是,当我刷新页面时,选择和取消选中复选框可以正常工作而不会出现任何问题。

正如一些旁注:

  1. 我根据选中的复选框使用Javascript进行行突出显示。 (如果需要,我可以提供此代码)
  2. 我确保使用checkchanged事件下的代码一次只选择一个复选框:

    onCheckedChanged
  3. 我在if(!IsPostBack)

  4. 中的页面加载中的代码隐藏中绑定gridview
  5. 在你问之前,是的,我已经在复选框
  6. 上设置了CheckBox activeCheckBox = sender as CheckBox; foreach (GridViewRow rw in GridView1.Rows) { CheckBox chkBx = (CheckBox)rw.FindControl("RowLevelCheckBox1"); if (chkBx != activeCheckBox) { chkBx.Checked = false; } else if (chkBx == activeCheckBox && (chkBx.Checked != false && activeCheckBox.Checked != false)) { chkBx.Checked = true; } }

    单击按钮时,我正在设置autopostback="true",但是当我调试并检查页面加载中gridview中的所有复选框时,在执行完所有代码后,它仍会显示已选中一个。

    为什么会出现这种情况?

0 个答案:

没有答案