2012-01-26 4 views
0

Я использую VS2005 C#.ASP.NET Назначение роли CheckBox

У меня есть список пользователей и 2 флажка. Эти флажки обозначают Administrator и User. Когда пользователь выбран, соответствующие флажки будут отмечены : согласно ролям, назначенным пользователю.

Теперь я пытаюсь добавить/удалить роли от выбранного пользователя, установив/сняв флажки, но у меня возникают некоторые проблемы. Страница перезагружается на мгновение и сбрасывает статус флажка обратно в оригинал, а роль не изменяется.

Ниже мои фрагменты кода:


<asp:CheckBox ID="adminCB" runat="server" Text="Administrator" OnCheckedChanged="Admin_CC" AutoPostBack="true"/><br /> 
<asp:CheckBox ID="userCB" runat="server" Text="User" OnCheckedChanged="User_CC" AutoPostBack="true"/> 

protected void Admin_CC(Object sender, EventArgs e) 
{ 
    if (adminCB.Checked) 
    { 

     Roles.AddUserToRole(UsersListBox3.SelectedItem.Value, "Administrator"); 

     // Re-bind users in role to GridView. 

     usersInRole = Roles.GetUsersInRole(RolesListBox.SelectedItem.Value); 
     UsersInRoleGrid.DataSource = usersInRole; 
     UsersInRoleGrid.DataBind(); 

    } 

    if (adminCB==null) 
    { 

     Roles.RemoveUserFromRole(UsersListBox3.SelectedItem.Value, "Administrator"); 

     // Re-bind users in role to GridView. 

     usersInRole = Roles.GetUsersInRole(RolesListBox.SelectedItem.Value); 
     UsersInRoleGrid.DataSource = usersInRole; 
     UsersInRoleGrid.DataBind(); 

    } 
} 

Любой может спот моя ошибка для меня?

ответ

1

Установите флажки на панели обновления.

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
<ContentTemplate> 
    <asp:CheckBox ID="adminCB" runat="server" Text="Administrator" OnCheckedChanged="Admin_CC" AutoPostBack="true"/><br /> 
    <asp:CheckBox ID="userCB" runat="server" Text="User" OnCheckedChanged="User_CC" AutoPostBack="true"/> 
    </ContentTemplate> 
</asp:UpdatePanel> 
+0

Как настроить панаму, чтобы сделать ее панамой обновления? – gymcode

+0

только что отредактировал мой комментарий. вам может понадобиться сценарист в верхней части страницы apsx. –

+0

Я использую VS2005, и я не думаю, что обновленная панель поддерживается. спасибо в любом случае – gymcode

Смежные вопросы