将列表(ASP-ITEMS)发送到会话,ASP.NET

发布于 2025-02-11 08:44:53 字数 1996 浏览 1 评论 0原文

我正在尝试根据用户角色更改用户看到的选择。 示例:如果用户是管理员,请选择为:admin,system,....

我首先创建了以下内容:

public List<SelectListItem> Selection { get; set; }

然后:

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();


}

当我运行代码时,我仍然会得到一个空的选择。

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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

触ぅ动初心 2025-02-18 08:44:53

如果要在页面加载时设置选择,则可以在onget中调用recht

public void OnGet()
        {
            Recht();
        }

如果要使用表单将usermodel.recht传递给处理程序,然后更改值选择,这是一个演示:

表格:

<form method="get" asp-page-handler="Recht">
    <input asp-for="UserModel.RECHT" />
    <input type="submit" value="submit"/>
</form>

处理程序:

[BindProperty]
public UserModel UserModel{get;set;}
public IActionResult OnGetRecht()
{
    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();


}

If you want to set Selection when page load,you can call Recht in OnGet:

public void OnGet()
        {
            Recht();
        }

If you want to use a form to pass UserModel.RECHT to handler,and change the value of Selection,here is a demo:

form:

<form method="get" asp-page-handler="Recht">
    <input asp-for="UserModel.RECHT" />
    <input type="submit" value="submit"/>
</form>

handler:

[BindProperty]
public UserModel UserModel{get;set;}
public IActionResult OnGetRecht()
{
    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();


}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文