Как установить значение по умолчанию для выбора списка в MVC во время выполнения
У меня есть вид, в котором он проходит через модель и отображать детали в редактируемом режиме. Одно из значений модели из списка выбора, как показано ниже
@if (Model != null)
{
for (int i = 0; i < Model.provider_service_dtls.Count; i++)
{
<tr>
<td> @Html.DropDownListFor(m => m.provider_service_dtls[i].activity_code_type,
(SelectList)@ViewBag.activity_code_type, "--- Select Activity Code Type ---", new { @class = "m-wrap" })</td>
<td>@Html.TextBoxFor(m => m.provider_service_dtls[i].activity_name)</td>
</tr>
}
}
ЗдесьViewBag.activity_code_type
содержать значенияInternal & Standard
при отправке, если выбран пользовательInternal
его ценность1
перейдет к контроллеру и еслиStandard
это будет2
и здесь значение по умолчанию будет"--- Select Activity Code Type ---"
Теперь, когда я открываю тот же запрос в режиме редактирования, если значение модели дляprovider_service_dtls[i].activity_code_type
является1
список выбора должен быть выбран по умолчанию какInternal
а такжеStandard
если это2
.
Я так закодировал
@Html.DropDownListFor(m => m.provider_service_dtls[i].activity_code_type,
(SelectList)@ViewBag.activity_code_type, Model.provider_service_dtls[i].activity_code_type)
Но он работает не так, как ожидалось, он дает результат, как показано ниже
Здесь должно быть выбрано по умолчаниюInternal
, Что такое изменение, чтобы сделать то же самое?
отредактированный
модель
public partial class provider_service_dtls
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long service_id { get; set; }
public long preapproval_id { get; set; }
public string activity_code_type { get; set; }
public string activity_type { get; set; }
public string activity_type_name { get; set; }
public string activity_code { get; set; }
public string activity_name { get; set; }
public string internal_activity_code { get; set; }
public string internal_activity_name { get; set; }
[ForeignKey("preapproval_id"), InverseProperty("provider_service_dtls")]
public virtual provider_preapproval preapproval { get; set; }
}
Шаблон редактора
@model Provider.Models.provider_preapproval
@Html.DropDownListFor(m => m.activity_code_type, (SelectList)ViewData["options"])
Посмотреть
Внутри для цикла я закодировал, как это
@Html.EditorFor(m => m.provider_service_dtls,
new { options = (SelectList)@ViewBag.activity_code_type })
Я получаю ошибку
«System.Web.Mvc.HtmlHelper» не содержит определения «EditorFor» и наилучшей перегрузки метода расширения «System.Web.Mvc.Html.EditorExtensions.EditorFor (System.Web.Mvc.HtmlHelper, System.Linq.Expressions .Expression>, string, object) 'имеет недопустимые аргументы