Правильный тип модели MVC3 для мультиселектора? - PullRequest
2 голосов
/ 01 февраля 2012

это правильный тип данных для поля множественного выбора в mvc3 DataType.MultilineText?В конечном итоге они получаются из отношения типа «многие ко многим».

Спасибо

Пример Канал может иметь несколько рекламных мест, а рекламный слот может иметь несколько каналов.

Моя текущая модель:

[Display(Name = "Ad Slots")]
[DataType(DataType.MultilineText)]
public string[] AdSlots { get; set; }

Это подходит для мультиселекции?

Ответы [ 3 ]

0 голосов
/ 01 февраля 2012

Я думаю, что вы можете использовать что-то вроде System.Web.Mvc.MultiSelectList, которое занимает IEnuermable коллекцию.

Проверьте эту статью для получения дополнительной информации: http://ittecture.wordpress.com/2009/04/30/tip-of-the-day-198-asp-net-mvc-listbox-controls/

Хорошо с вашим редактированием, мой ответможет быть не очень полезным, так как вы, скорее всего, не хотите, чтобы ваша Модель ссылалась на MVC, но вы можете сделать @Html.ListBox("AdSlots", new MultiSelectList(model.AdSlots)), так как она уже перечислима.

0 голосов
/ 22 октября 2012

Этот многострочный тип означает текстовую область, а не множественный выбор, который имеет разметку с множественным выбором в качестве атрибута.

0 голосов
/ 01 февраля 2012

ASP.NET MVC не использует "типы" для элементов DOM. Вы бы использовали метод расширения HtmlHelper.ListBox().

Этот метод расширения возвращает список с несколькими вариантами выбора.

@Html.ListBox(
    "YourFormFieldName", 
    new SelectList(new[] { "You can select this one", "and this one" })
)

РЕДАКТИРОВАТЬ : для модели вы можете использовать это:

public class YourViewModel
{
    public MultiSelectList YourItems { get; set; }
}

А затем на POST вы можете увидеть, какие элементы выбраны.

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