#c# #model-view-controller #drop-down-menu #selectedvalue
#c# #модель-представление-контроллер #выпадающее меню #выбранное значение
Вопрос:
Я хотел бы привязать данные selectedvalue из модели к выпадающему списку при просмотре, но все еще не работает.
В выпадающем списке по-прежнему выбрано «Выбрать подразделение».
Какие-либо идеи у вас есть для меня?
Заранее благодарю вас за помощь.
Это пользовательская модель
public class UserModel
{
//public static ClaimsIdentity Identity { get; set; }
[Key]
public Int64 UserId { get; set; }
[Required]
public string UserCode { get; set; }
[Required]
public string UserName { get; set; }
[Required]
public string UserEmail { get; set; }
[Required]
public string UserPassword { get; set; }
[Required]
public string UserRole { get; set; }
[Required]
public string UserStatus { get; set; }
[Required]
public DateTime LastLogin_Date { get; set; }
[Required]
public string Create_By { get; set; }
[Required]
public DateTime Create_Date { get; set; }
[Required]
public string Update_By { get; set; }
[Required]
public DateTime Update_Date { get; set; }
public string BU_Code { get; set; }
public virtual BusinessUnitModel BusinessUnits { get; set; }
}
Это BusinessUnitModel
public class BusinessUnitModel
{
public BusinessUnitModel()
{
this.Users = new HashSet<UserModel>();
this.Departments = new HashSet<DepartmentModel>();
}
[Key]
public string BU_Code { get; set; }
[Required]
public string BU_Name { get; set; }
[Required]
public string BU_Prefix { get; set; }
[Required]
public string BU_Type { get; set; }
[Required]
public string BU_Status { get; set; }
[Required]
public string Create_By { get; set; }
[Required]
public DateTime Create_Date { get; set; }
[Required]
public string Update_By { get; set; }
[Required]
public DateTime Update_Date { get; set; }
public virtual ICollection<UserModel> Users { get; set; }
public virtual ICollection<DepartmentModel> Departments { get; set; }
public virtual ICollection<StockModel> Stocks { get; set; }
}
Это usercontroller
* Я должен был изменить код из ViewBag.BusinessUnits ==> ViewBag.BusinessUnit *
public IActionResult Modify(Int64 id)
{
UserModel users = _user.GetAll(id);
ViewBag.businessUnit = new SelectList(_businessUnit.GetAll("A").Select(x => new
{
Value = x.BU_Code,
Text = x.BU_Name
}), "Value", "Text", users.BU_Code);
return View(users);
}
Это просмотр пользователя
<div class="col">
@Html.LabelFor(model => model.BusinessUnits, htmlAttributes: new { @class = "control-label" })
@Html.DropDownListFor(model => model.BusinessUnits, (IEnumerable<SelectListItem>)ViewBag.businessUnit, "Select Business Unit", new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.BusinessUnits)
</div>
Ответ №1:
Переменная ViewBag должна быть ViewBag.BusinessUnit, а не ViewBag.BusinessUnits в действии изменения usercontroller. Пожалуйста, ознакомьтесь с кодом пользовательского контроллера ниже.
public IActionResult Modify(Int64 id)
{
UserModel users = _user.GetAll(id);
ViewBag.businessUnit = new SelectList(_businessUnit.GetAll("A").Select(x => new
{
Value = x.BU_Code,
Text = x.BU_Name
}), "Value", "Text", users.BU_Code);
return View(users);
}
Комментарии:
1. Спасибо за ваш ответ, но результат все тот же.