2012-01-31 5 views
2

は、mvc3 DataType.MultilineTextの複数選択ボックスの正しいデータ型ですか?これらは最終的には多対多型の関係に由来します。マルチセレクションボックスのMVC3モデルタイプを修正しますか?

おかげ

例 Aチャンネルは、複数の広告スロットを持つことができ、広告スロットは、複数のチャンネルを持つことができます。

私の現在のモデルは次のとおりです。

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

は複数選択のためにその権利ですか?

+0

TextAreaにはMulitlineTextが使用されています – HaBo

答えて

0

ASP.NET MVCでは、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

このMultiline Typeは、multiselectを属性とするマークアップを持つmultiselectではなく、textareaを意味します。