Asp. Сетевой MVC - представление со строгим контролем типов с двумя списками того же типа

Короткий ответ, да, вид. Можно использовать Objective C ++, о котором можно читать в Соединение Разработчика Apple.

, Если бы Вы уже знаете, C++, изучая Objective C был бы довольно прост, если бы Вы решили дать этому попытку. Больше информации о той теме в ADC также.

5
задан Martin 17 August 2009 в 12:34
поделиться

4 ответа

"Создание нового класса с двумя списками" - это правильный путь. Это называется моделью представления, и как только вы ее примете, вам действительно откроются возможности строго типизированных представлений. Это может быть так просто:

public class IndexViewModel 
{
    public List<Item> Newest { get; set; }
    public List<Item> Popular { get; set; }
}
10
ответ дан 18 December 2019 в 09:08
поделиться

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

Второй - рассматривать списки как «вспомогательные» данные и помещать их в ViewData, как указано в jeef3. Но при рендеринге списков вы используете строго типизированный партиал.

ViewData["Newest"] = Newest;
ViewData["Popular"] = Popular

Под этим я подразумеваю, что в вашем основном представлении вы вызываете RenderPartial (...), но передаете ключ данных представления, который вы использовали.

И ваш партиал будет выглядеть так:

<%@ ViewUserControl Inherits="System.Web.Mvc.ViewUserControl<List<Item>>" %>
...

Это дает вам строго типизированный доступ к этим данным просмотра из вашего партиала.

4
ответ дан 18 December 2019 в 09:08
поделиться

Это то, что предложил Джон или отсутствие строго типизированного представления и добавление их к ViewData:

ViewData["Newest"] = Newest;
ViewData["Popular"] = Popular

Другой вариант - это строго типизированные частичные представления.

3
ответ дан 18 December 2019 в 09:08
поделиться

Вы должны создать модель, которая включает оба списка специально для представления.

Обычно в небольшом MVC, который я сделал, я сделал модель для каждого представления, даже если они только что прошли идентично данным, которые обслуживались уровнем данных или бизнес-уровня, просто чтобы разделение между двумя частями было очень строгим. Эта настройка требует немного больше работы и не требуется во многих простых случаях, но, на мой взгляд, она помогает сохранить чистоту.

1
ответ дан 18 December 2019 в 09:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: