У меня есть проект ASP.NET MVC на C# с использованием аутентификации по формам, а Active Directory - это поставщик членства (пользователи входят в систему со своим существующим uid/pwd). Однако я хотел бы, чтобы роли предоставлялись aspnet_Roles (таблица по умолчанию, созданная приложением). В моем Web.config у меня есть: с настройкой по умолчанию для этого узла.Отобразить список доступных ролей из базы данных как флажки, такие как NerdDinner, со странами
Я успешно выполнил образец приложения NerdDinner и хочу использовать то, что я узнал. В моем приложении я использую шаблон репозитория, как и NerdDinner. В NerdDinner он показывает, как использовать метод Helper для заполнения DropDownList. Я хотел бы сделать то же самое, но вместо стран и DropDown я хотел бы вытащить Роли из таблицы и заполнить флажки.
В моих UsersController.cs у меня есть:
//
// ViewModel Classes
public class UserFormViewModel
{
// properties
public User User { get; private set; }
public SelectList Roles { get; private set; }
// Constructor
public UserFormViewModel(User user)
{
User = user;
Roles = new SelectList(Roles.All,); //this is where I have problems
}
}
На мой взгляд, у меня есть (что, конечно, не будет работать):
<ul>
<% foreach (var role in Roles as IEnumerable<SelectListItem>)) { %>
<li><%= Html.CheckBox(role.ToString())%> <%= role.ToString() %></li>
<% } %>
</ul>
P.S. Я новичок в .NET, но мне это нравится! Исправьте меня, если я ошибаюсь, но я думаю, что эта проблема связана с определениями коллекций и типов?
Кроме того, я знаком с использованием инструмента конфигурации ASP.NET для добавления Ролей и пользователей, но я хотел бы создать пользовательский раздел User Admin.
Эй Morph Я считаю, что это будет: <% = Html.CheckBox (role.ToString(), Roles.IsUserInRole (Model.User.UserName, role.ToString()))%> но как бы я начал цикл? Я пытаюсь: <% foreach (роль var в роли как IEnumerable) {%>, но это не работает –
robnardo