ASP MVC3 Цикл по нескольким таблицам, не хранящимся в вашей модели - PullRequest
0 голосов
/ 19 января 2012

Я новичок в ASP MVC, и у меня есть быстрый вопрос о доступе к данным в других таблицах, которые не являются частью вашей @model.

Пример:

Сейчас у меня есть две таблицы, я назову их table1 и table2.

Я передаю table1 из контроллера в представление и затем выполняюцикл foreach проходит через него, чтобы вывести его содержимое.

Внутри таблицы1 у меня есть ссылка на таблицу2, чтобы я мог получить доступ к полям в таблице2.То, что я хочу, так это циклически проходить через table2, но я не могу этого сделать, потому что единственные данные, которые я выводил в мою модель, это содержимое table1, поэтому, хотя я могу получить доступ к данным для T2, я не могу получить к ним доступ.информация, например, сколько строк у него есть.

1 Ответ

1 голос
/ 19 января 2012

Вы можете (1) создать новую «модель представления», которая содержит обе таблицы (как свойства нашего объекта), или (2) в вашем контроллере вы можете поместить вторую таблицу в словарь ViewData и извлечь ее по вашему мнению.

Второй вариант быстрее и проще, но поскольку это довольно распространенная проблема, вам лучше привыкнуть к использованию моделей представлений.

(1) Вот пример представления модели:

public class MyViewModel {
    public SomeDataTable table1 {get; set;}
    public SomeDataTable table2 {get; set;}
}

(2) Вот как использовать словарь ViewData:

// Controller code (store the table in ViewData):
SomeDataTable table2 = ...;
ViewData["table2"] = table2;

// View code (retrieve the table from ViewData):
<% var table2 = (SomeDataTable)ViewData["table2"]; %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...