2 контроллера и 1 просмотр в ASP.NET MVC - PullRequest
0 голосов
/ 02 октября 2009

У меня есть 2 контроллера, задача и пользователь.

Мне нужно создать представление для «создания задачи для пользователей». Так что мне нужно совместное представление «список пользователей» и «создать задачу».

Обычно представления наследуются только от 1 класса.

Как мне создать представление, работающее с 2 классами?

Есть идеи?

Ответы [ 3 ]

4 голосов
/ 02 октября 2009

Ваше мнение не может и не должно наследоваться от 2 классов.

Создайте модель представления для вашего пользователя, у которой есть список моделей представления задач.

0 голосов
/ 02 октября 2009

Представление может получить любой класс в качестве модели, поэтому просто напишите собственный класс, например:

public class UserListAndTasks
{
    public IQuerable<User> UserList;
    public Task Task;
}

Затем в вашем View вы можете использовать партиалы:

<%= Html.RenderPartial("UserList", Model.UserList); %>
<%= Html.RenderPartial("CreateTask", Model.Task); %>
0 голосов
/ 02 октября 2009

Вы можете реализовать каждое представление (список пользователей и создать задачу) как частичные представления (пользовательские элементы управления .ascx) и вызывать каждое из них в своем представлении (страница .aspx).

Визуализация частичного представления выполняется с использованием метода RenderPartial:

this.Html.RenderPartial("UserList");
this.Html.RenderPartial("CreateTask");

Это позволит вам повторно использовать и комбинировать просмотры в разных представлениях (страницах).

Как указывает AmisL, вы можете передавать различные части вашей ViewModel в каждое частичное представление.

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