Я работаю на AdminPortal и у меня есть установка базы данных как таковые:MVC5 Бритва, Отображение связанных таблиц значений
User 1:N UserRole N:1 Role 1:N RolePage N:1 Page
Таким образом, пользователь подключаются к роли через таблицу UserRole и роль на определенную страницу через таблицу RolePage.
Я использовал MVC5 и Entity Framework для создания моделей и контроллеров.
В моем UserController я хочу, чтобы детали также отображали роли, которые в настоящее время нет. Отсюда кто-то должен иметь возможность выбрать «Редактировать», а затем добавить/удалить роли для конкретного пользователя.
Когда я пытаюсь использовать существующие user.UserRoles, как таковой:
@Html.DisplayNameFor(model => model.UserRoles)
я получаю выход:
System.Data.Entity.DynamicProxies.Role_2928XXXXXXXXXXXXX
И я хочу, чтобы увидеть список ролей, назначенных их (например, Admin, Sales и т. д.). Каков наилучший способ сделать это?
Вот подробности часть моего контроллера:
// GET: Users/Details/5
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
User user = db.Users.Find(id);
if (user == null)
{
return HttpNotFound();
}
return View(user);
}
Как насчет частичного обзора? – Shoe
С нетерпением загружайте свойства, которые собираетесь использовать, и используйте шаблон дисплея/редактора. –
Хорошо, я смог отобразить мои роли, выполнив цикл foreach на странице Details.cshtml. Сейчас работает. Теперь мой следующий шаг - сделать страницу, которая позволяет добавлять/удалять роли непосредственно с этой страницы. Есть предположения? – NocFenix