如何将信息从 .net Core 中的 pagemodel cs 文件传回 razor 页面
how to pass information back to a razor page from the pagemodel cs file in .net core
我想隐藏 cshtml 页面的某些部分,具体取决于 user.identity.name。
我有应用程序配置文件,我从中成功检索了用户管理信息:
这里是该代码的 c# 片段
public IActionResult OnGet()
{
string admin = _context.ApplicConfs.Select(s => s.AppAdmin).FirstOrDefault();
string badmin = _context.ApplicConfs.Select(s => s.BackAdmin).FirstOrDefault();
ViewBag.uadmin = admin;
ViewBag.ubadmin = badmin;
return ViewBag();
}
cshtml 代码当前执行以下操作:
@*@if (@User.Identity.Name == (ViewBag.uadmin) || @User.Identity.Name == (ViewBag.ubadmin))
{*@
后面是什么 html 显示不显示(有条件)
类似的东西在 .net core MVC 中有效,但在 .net core razor 页面中无效。
如何将上面的管理字符串从 c# pagemodel 页面传递到 cshtml razor 页面,以便可以将当前的@user.identity.name 与管理字符串进行比较?
对不起,如果这是一个愚蠢的问题...
您可以尝试使用ViewData,这里有一个演示:
TestHidden.cshtml.cs:
[BindProperty]
public User User { get; set; }
public IActionResult OnGet()
{
User= new User { Identity = new Identity { Name = "admin" } };
ViewData["uadmin"] = "admin";
ViewData["ubadmin"] = "badmin";
return Page();
}
类:
public class User {
public Identity Identity { get; set; }
}
public class Identity
{
public string Name { get; set; }
}
TestHidden.cshtml:
@if (@Model.User.Identity.Name == ViewData["uadmin"] || @Model.User.Identity.Name == ViewData["ubadmin"])
{
<h1>User.Identity.Name:@Model.User.Identity.Name</h1>
<h1>ViewData["uadmin"]:@Model.ViewData["uadmin"]</h1>
<h1>ViewData["ubadmin"]:@Model.ViewData["ubadmin"]</h1>
}
结果:
我想隐藏 cshtml 页面的某些部分,具体取决于 user.identity.name。
我有应用程序配置文件,我从中成功检索了用户管理信息:
这里是该代码的 c# 片段
public IActionResult OnGet()
{
string admin = _context.ApplicConfs.Select(s => s.AppAdmin).FirstOrDefault();
string badmin = _context.ApplicConfs.Select(s => s.BackAdmin).FirstOrDefault();
ViewBag.uadmin = admin;
ViewBag.ubadmin = badmin;
return ViewBag();
}
cshtml 代码当前执行以下操作:
@*@if (@User.Identity.Name == (ViewBag.uadmin) || @User.Identity.Name == (ViewBag.ubadmin))
{*@
后面是什么 html 显示不显示(有条件)
类似的东西在 .net core MVC 中有效,但在 .net core razor 页面中无效。
如何将上面的管理字符串从 c# pagemodel 页面传递到 cshtml razor 页面,以便可以将当前的@user.identity.name 与管理字符串进行比较?
对不起,如果这是一个愚蠢的问题...
您可以尝试使用ViewData,这里有一个演示:
TestHidden.cshtml.cs:
[BindProperty]
public User User { get; set; }
public IActionResult OnGet()
{
User= new User { Identity = new Identity { Name = "admin" } };
ViewData["uadmin"] = "admin";
ViewData["ubadmin"] = "badmin";
return Page();
}
类:
public class User {
public Identity Identity { get; set; }
}
public class Identity
{
public string Name { get; set; }
}
TestHidden.cshtml:
@if (@Model.User.Identity.Name == ViewData["uadmin"] || @Model.User.Identity.Name == ViewData["ubadmin"])
{
<h1>User.Identity.Name:@Model.User.Identity.Name</h1>
<h1>ViewData["uadmin"]:@Model.ViewData["uadmin"]</h1>
<h1>ViewData["ubadmin"]:@Model.ViewData["ubadmin"]</h1>
}
结果: