2012-01-26 11 views
0

私はVS2005 C#を使用しています。ASP.NET割り当てチェックボックスによる役割

私はユーザーのリストと2つのチェックボックスを持っています。チェックボックスはそれぞれAdministratorUserを示します。ユーザが選択されると、ユーザに割り当てられたロールに応じて、がチェックされ、にチェックされます。

これで、チェックボックスをオンまたはオフにして、選択したユーザーに役割を追加/削除しようとしましたが、いくつか問題があります。ページが一瞬リロードされ、チェックボックスのステータスが元の状態に戻され、ロールは変更されません。以下は

は私のコードスニペットです:


<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を使用しており、私はupdatepanelがサポートされているとは思わない。とにかくありがとう – gymcode

関連する問題