すべてを行う必要が部分的エディタテンプレートこのエディタがあるプロパティのタイプのモデルタイプを作成しています含まれるモデルのタイプではなく、編集されることになります。
public class CreateEventModel
{
//Other stuff here....
public EventType TypeToCreate { get; set; }
}
public class EditEventModel
{
//Other stuff here....
public EventType TypeToEdit { get; set; }
}
あなたはEventType.cshtmlという名前EditorTemplatesフォルダ内の部分を作成します。
あなたはEventType
クラス、CreateEventModel
とEditEventModel
を持っている、とCreateEventModel
とEditEventModel
の両方が、このようなEventType
性質を持っていると仮定します
@model EventManager.Models.EventType
@{
var types = //put whatever you need here to get the list of available types*;
}
@Html.DropDownListFor(m => m, types)
お知らせDropDownListFor()の呼び出しでは、単純なメートル=> Mの発現、および事実:、およびそれにあなたはこのようなものを置きます@model宣言の型は単純にEventTypeです。すべてのエディタテンプレートは、EventType型のプロパティを編集するために使用されることを知る必要があります。
次のようにあなたのCreateEventModel
とEditEventModel
のためのビューでこのテンプレートを利用することができます:
ビューを作成します。
@model EventManager.Models.CreateEventModel
@{
ViewBag.Title = "Create";
}
<h2>Create</h2>
@*Other stuff here...*@
@Html.EditorFor(m => m.TypeToCreate)
編集ビュー:
@model EventManager.Models.EditEventModel
@{
ViewBag.Title = "Edit";
}
<h2>Edit</h2>
@*Other stuff here...*@
@Html.EditorFor(m => m.TypeToEdit)
(*これに使用するコード:
EventManager.Models.DropdownEventTypesModel dropdownList = new EventManager.Models.DropdownEventTypesModel();
List<SelectListItem> types = dropdownList.EventTypes;
は本当にビューに属していませんが、それは別の問題です)。
これは、@ modelをEventTypeデータ型で使用することに本当に役立ちました。 @model intを使用して終了しましたか?どのビューでも一般的に使用できます。 –