2012-01-31 3 views
2

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

Благодаря

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

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

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

Это верно для множественного выбора?

+0

MulitlineText используется для TextArea – HaBo

ответ

0

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

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

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

EDIT: для модели, вы могли бы использовать это:

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

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

+0

Я говорю о типе модели. – Darren

0

Я думаю, вы можете использовать что-то вроде 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

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

Смежные вопросы