В Viewbag
есть продукты, которые я отображаю в выпадающем списке.Он просто создает MyModel
с выбранным продуктом.Но когда я пытаюсь обновить MyModel
и установить SelectedProduct
таким образом, выпадающий список не показывает выбранный.
Как отобразить выбранный элемент списка в действии обновления?
public class MyViewModel {
public int Id { get; set; }
public int ProductId { get; set; }
public Product Product { get; set; }
public string SelectedProduct { get; set; }
}
public ActionResult CreateOrUpdate(int? id)
{
var model = MyViewModel();
if (id.HasValue && id.Value != default)
{
model = GetFromDatabase(id.Value);
}
else
{
// This doesn't work
model.SelectedProduct = model.Product;
}
ViewBag.Products = GetAllProductsFromDatabase()
.Select(x => new SelectListItem()
{
Text = x.FullName,
Value = x.Id.ToString()
}).ToList();;
return View(model);
}
<div>
<label asp-for="SelectedProduct"></label>
<select asp-for="SelectedProduct" asp-items="@ViewBag.Products</select>
</div>