アドバイスをお願いします -
CheckBoxList は表示されません。3 つのロールが表示されている必要があります (現時点では存在します)。
<%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeBehind="admin.aspx.cs"
Inherits="HSE_Monitoring_Application.admin.admin" title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" Runat="Server">
<h3>Role Manager</h3>
<div>
Enter UserName:
<asp:TextBox ID="TxtUserName" runat="server"></asp:TextBox>
<asp:Button ID="LookupBtn" runat="server" Text="Search" />
</div>
<div class="roleList">
<asp:CheckBoxList ID="RoleList" runat="server" Visible=true>
</asp:CheckBoxList>
</div>
<div>
<asp:button ID="UpdateBtn" text="Update" Visible="false" runat="server" />
</div>
</asp:Content>
その結果、3 つの役割 (管理者、承認者、監査者、および「更新」ボタン) を持つ 3 つのチェックボックスが表示される必要があります。これらの役割は存在します。ロール チェックボックス コントロールの助けを借りて、管理者はページのロール メンバーシップを管理できます。
テキストボックスとボタン(検索)でラベル(ユーザー名を入力)のみを表示します。返信してください。必要に応じて、必要なファイルを提供できます。この問題を修正するために多くの時間を費やしました。
よろしく!
「admin.aspx.cs」の内容は次のとおりです。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;
namespace HSE_Monitoring_Application.admin
{
public partial class admin : System.Web.UI.Page
{
private void PopulateRoleList(String userName)
{
RoleList.Items.Clear();
string[] roleNames;
//string roleName="";
roleNames = Roles.GetAllRoles();
Response.Write(roleNames);
foreach (string roleName in roleNames)
{
ListItem roleListItem = new ListItem();
roleListItem.Text = roleName;
roleListItem.Selected = Roles.IsUserInRole(userName, roleName);
RoleList.Items.Add(roleListItem);
}
}
private void UpdateRolesFromList()
{
foreach (ListItem roleListItem in RoleList.Items)
{
string roleName = roleListItem.Value;
string userName = TxtUserName.Text;
Boolean enableRole = roleListItem.Selected;
if (enableRole == true && Roles.IsUserInRole(userName, roleName) == false)
{
Roles.AddUserToRole(userName, roleName);
}
else if (enableRole == false && Roles.IsUserInRole(userName, roleName) == true)
{
Roles.RemoveUserFromRole(userName, roleName);
}
}
}
private void LookupBtn_Click(object sender, EventArgs e)
{
PopulateRoleList(TxtUserName.Text);
UpdateBtn.Visible = true;
}
private void UpdateBtn_Click(object sender, EventArgs e)
{
UpdateRolesFromList();
PopulateRoleList(TxtUserName.Text);
}
}
}