Не знаю, как лучше сформулировать мой вопрос.
Итак, у меня есть модель, давайте возьмем очень простую модель и скажем, что у нас есть эти два свойства:
public string statusId { get; set; }
public virtual listStatus { get; set; }
В моем Createview Я установил этот статусId следующим образом:
<div class="form-group">
@Html.LabelFor(model => model.statusId, null, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("statusId", null, htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.statusId, "", new { @class = "text-danger" })
</div>
</div>
и метод создания контроллера имеет:
ViewBag.statusId = new SelectList(db.listStatus.Where(i => i.Deleted == false), "Id", "Description");
Теперь я хочу добиться того, чтобы при выборе элемента из этогоперечислите виртуальные обновления в моей модели соответственно выбранному значению, но я не уверен, что лучше всего это делать.В настоящее время я использую метод расширения в моей модели (он был сгенерирован с использованием Entity Framework, поэтому я не хочу его перезаписывать), который делает это:
public static async Task<Request> RefreshRelations(this Request request)
{
return await db.Requests.Where(r => r.Id == request.Id).Include(r => r.listStatus).FirstAsync();
}
, который я мог бы добавить в установщик свойства statusId.Но есть ли лучший способ сделать это, если я что-то упустил?
Любые вопросы или нужна дополнительная информация, пожалуйста, прокомментируйте!Заранее спасибо :)