I´m trying to change the selection that the user sees based on the user role. Example: if the user is admin let the selection be: admin, system ,....
I first created this:
public List<SelectListItem> Selection { get; set; }
then:
public IActionResult Recht()
{
if (UserModel.RECHT.Equals(50))
{
Selection.Add(new SelectListItem { Value = "SY", Text = "System" });
Selection.Add(new SelectListItem { Value = "AD", Text = "Admin" });
Selection.Add(new SelectListItem { Value = "ID", Text = "Innendienst" });
Selection.Add(new SelectListItem { Value = "SP", Text = "Spediteur" });
Selection.Add(new SelectListItem { Value = "DS", Text = "Disponent" });
}
if (UserModel.RECHT.Equals(40))
{
Selection.Add(new SelectListItem { Value = "AD", Text = "Admin" });
Selection.Add(new SelectListItem { Value = "ID", Text = "Innendienst" });
Selection.Add(new SelectListItem { Value = "SP", Text = "Spediteur" });
Selection.Add(new SelectListItem { Value = "DS", Text = "Disponent" });
}
if (UserModel.RECHT.Equals(30))
{
Selection.Add(new SelectListItem { Value = "ID", Text = "Innendienst" });
Selection.Add(new SelectListItem { Value = "SP", Text = "Spediteur" });
Selection.Add(new SelectListItem { Value = "DS", Text = "Disponent" });
}
if (UserModel.RECHT.Equals(20))
{
Selection.Add(new SelectListItem { Value = "SP", Text = "Spediteur" });
Selection.Add(new SelectListItem { Value = "DS", Text = "Disponent" });
}
if (UserModel.RECHT.Equals(10))
{
Selection.Add(new SelectListItem { Value = "DS", Text = "Disponent" });
UserRoleMessage = string.Join(",", Selection);
HttpContext.Session.SetString("UserRoleMessage", UserRoleMessage);
}
UserRoleMessage = Convert.ToString(UserModel.RECHT);
HttpContext.Session.SetString("UserRoleMessage", UserRoleMessage);
return Page();
}
When I run my code I still get an empty selection.
If you want to set Selection when page load,you can call
Rechtin OnGet:If you want to use a form to pass
UserModel.RECHTto handler,and change the value of Selection,here is a demo:form:
handler: