Управление группами пользователей - PullRequest
0 голосов
/ 19 сентября 2011

Я пытаюсь реализовать функциональность управления пользователями для веб-сайта. Я использую ASP.NET MVC 3, Entity Framework 4.1, MvcScaffolding.

Давайте рассмотрим сущности:

Пользовательский объект:

public class User
{
    public int Id
    {
        get;
        set;
    }

    public string FirstName
    {
        get;
        set;
    }

    public string LastName
    {
        get;
        set;
    }

    public virtual ICollection<UserGroup> Groups
    {
        get;
        set;
    }
}

Объект группы пользователей:

public class UserGroup
{
    public int Id
    {
        get;
        set;
    }

    public string Name
    {
        get;
        set;
    }

    public virtual ICollection<User> Users
    {
        get;
        set;
    }
}

Как видите, существует взаимосвязь "многие ко многим" между пользователем и объектами группы пользователей.

Итак, я хотел бы иметь следующий пользовательский интерфейс для редактирования группы пользователей:

User group editor

Есть две сетки: 1. Сетка пользователей содержит текущее состояние редактируемой группы пользователей. 2. Сетка просмотра пользователей содержит всех пользователей (кроме пользователей, которые уже входят в группу пользователей). При щелчке строки пользователя этой сетки пользователь будет перемещен в сетку пользователей . Кроме того, эта сетка должна поддерживать разбиение по страницам, фильтрацию и сортировку для обеспечения удобного просмотра пользователями.

Итак, пользователь выбирает пользователей для группы пользователей и затем нажимает кнопку «Сохранить». Класс контроллера группы пользователей должен сохранить изменения.

Теперь вопрос: как реализовать эту функциональность? Есть ли хороший пример для такой проблемы взаимоотношений «многие ко многим»? Если не существует простого решения, какой пользовательский интерфейс для управления группами пользователей вы могли бы посоветовать мне использовать?

P.S. Я довольно новичок в ASP.NET, поэтому я не понимаю, как реализовать такие динамические сетки.

Обновление 1: Я просмотрел примеры jqGrid. ссылка См. Advanced -> Multi Select Возникла проблема, выбор флажков сбрасывается при смене фильтра. Как сохранить все выбранные идентификаторы, несмотря на смену фильтра?

1 Ответ

1 голос
/ 19 сентября 2011

Telerik имеет отличную сетку: http://demos.telerik.com/aspnet-mvc/grid/detailsajax.
Я не мог понять весь ваш сценарий, особенно это: «Сетка просмотра пользователей содержит всех пользователей (кроме пользователей, которые уже принадлежат группе пользователей). Когда строка пользователяпри щелчке по этой сетке пользователь будет перемещен в сетку пользователей ".
Я думаю, что сценарий может быть таким:
Если пользователь находится в конкретной группе, отображаются две сетки:
a) пользователи, существующие в группегде каждая строка содержит информацию о пользователе и кнопку удаления
b) пользователей, которых нет в группе, где каждая строка содержит информацию о пользователе и кнопку добавления

В этом случае вся логика довольно проста, вы ненужна какая-то причудливая логика, поскольку все находится на одной странице.

На странице пользователя может быть сетка с группами, и если пользователь находится в этой группе, в этой строке есть кнопка удалить, а если пользователь - нетесть кнопка добавить.С хорошо выбранным пользователем dto для редактирования, это также будет довольно просто реализовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...