У меня есть два раскрывающихся списка на мой взгляд MVC
один для модулей
@Html.DropDownListFor(model => model.modules, ViewBag.modules as SelectList
, "--- Sélectionner un module ---", new { @id = "moduleSelected", @class = "form-control form-control-sm" }
)
и другой для подмодулей
@Html.DropDownListFor(model => model.sousModules, ViewBag.sousmodules as SelectList
, "--- Sélectionner un sous module ---", new { @id = "submoduleSelected", @class = "form-control form-control-sm" }
)
, и я хочу: если Пользователь выбирает модуль, подмодуль refre sh и показывает только под_модули выбранного модуля
действие в контроллере
public ActionResult UserTache() {
var model = new MultiModeles
{
aspNetUsers = database.AspNetUsers.Where(p => p.NomAr != null).ToList(),
aspNetRoles = database.AspNetRoles.ToList(),
aspNetUserRoles = database.AspNetUserRoles.ToList(),
modules = database.Module.ToList(),
sousModules = database.SousModule.ToList()
};
ViewBag.Users = new SelectList(database.AspNetUsers, "Id", "UserName");
ViewBag.modules = new SelectList(database.Module, "ModuleId", "ModuleName");
ViewBag.sousmodules = new SelectList(database.SousModule, "SousModuleId", "SousModuleName");
ViewBag.taches = new SelectList(database.AspNetRoles, "Id", "Name");
return View(model);
}
module
public partial class Module
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public Module()
{
this.ApplicationModule = new HashSet<ApplicationModule>();
this.SousModule = new HashSet<SousModule>();
}
public int ModuleId { get; set; }
public string ModuleName { get; set; }
public string ModuleDescription { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<ApplicationModule> ApplicationModule { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<SousModule> SousModule { get; set; }
}
sub module
public partial class SousModule
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public SousModule()
{
this.AspNetRoles = new HashSet<AspNetRoles>();
}
public int SousModuleId { get; set; }
public string SousModuleName { get; set; }
public int ModuleId { get; set; }
public string SousModuleDescription { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<AspNetRoles> AspNetRoles { get; set; }
public virtual Module Module { get; set; }
}