Mam wyliczenie w moim projekcie i utworzyłem niestandardowy szablon edytora dla tego wyliczenia. Tak więc każdy model, który mam z właściwością z typem tego wyliczenia, wyświetli menu rozwijane.Jak uzyskać nazwę właściwości w moim niestandardowym szablonie edytora MVC3
Działa to świetnie, ale chciałbym nazwać wybrany element mojego menu rozwijanego nazwą nieruchomości. Oto mój kod Razor dla mojego szablonu edytora.
@model ItemEnumerations.ItemType
<select id="PropertyNameHere" name="PropertyNameHere">
@foreach (ItemEnumerations.ItemType in Enum.GetValues(typeof(ItemEnumerations.ItemType))) {
<option value="@value" @(Model == @value ? "selected=\"selected\"" : "")>@value.ToString()</option>
}
</select>
Więc gdzie mam „PropertyNameHere” dla wybranych elementów i nazwy atrybutów id, chciałbym mieć nazwę właściwości mojego modelu. Oto przykład:
My Model:
public class MyModel{
public int ItemID {get;set;}
public string ItemName {get;set;}
public ItemEnumerations.ItemType MyItemType {get;set;}
}
moim zdaniem Kod:
@model MyModel
@Html.LabelFor(m => model.ItemID)
@Html.DisplayForm(m => model.ItemID)
@Html.LabelFor(m => model.ItemName)
@Html.EditorFor(m => model.ItemName)
@Html.LabelFor(m => model.MyItemType)
@Html.EditorFor(m => model.MyItemType)
Chciałbym mój wybierz element, który ma nazwę i identyfikator 'MyItemType'.
Może lepszym rozwiązaniem byłoby rozszerzenie metody DropDownFor do obsługi mojego wyliczenie? –
Wypróbuj to ...http://blog.nathan-taylor.net/2012/10/aspnet-mvc-get-field-name-and-id-for.html –