Я строю бизнес-приложение и при рендеринге адреса у меня есть этот фрагмент кода, который я действительно не хочу копировать и вставлять везде:
<div class="editor-field">
@Html.DropDownListFor(model => model.Address.State, new
SelectList(UsaStates.StateDictionary.OrderBy(s => s.Value), "Key", "Value",
"Iowa"), "-- Select State --")
@Html.ValidationMessageFor(model => model.Address.State)
</div>
Класс Address очень прост:
public class Address
{
public string Address1 { get; set; }
public string Address2 { get; set; }
public string City { get; set; }
public string State { get; set; }
public int Zip { get; set; }
public string County { get; set; }
}
Классы модели реализуют Адрес следующим образом:
public class Business
{
// .. other properties
Address Address {get;set;}
}
public class College
{
// .. other properties
Address Address {get;set;}
}
При этом у меня есть два представления: «Бизнес» / «Create.cshtml» и «Колледжи / Create.cshtml» с собственными моделями.
Каков наилучший способ сделать этот фрагмент кода представления доступным для всех представлений в моем приложении, модели которых имеют поля адреса?