C# .NET 5剃须刀页面OnGet()未启动

C# .NET 5剃须刀页面OnGet()未启动,c#,asp.net-core,razor-pages,.net-5,C#,Asp.net Core,Razor Pages,.net 5,只是一个用于添加员工的基本Razor页面,但当页面加载时,OnGet()不会触发/被命中。我在“Managers=newselectlist”行中添加了一个断点来测试它,但它从未被击中。我错过了什么 public IActionResult OnGet() { if ((Request.Cookies["Admin"] != null) && (Request.Cookies["Admin"] == "True&

只是一个用于添加员工的基本Razor页面,但当页面加载时,OnGet()不会触发/被命中。我在“Managers=newselectlist”行中添加了一个断点来测试它,但它从未被击中。我错过了什么

public IActionResult OnGet()
 {
        if ((Request.Cookies["Admin"] != null) && (Request.Cookies["Admin"] == "True"))
        {
            ModelState.Clear();
            List<Employee> managers = _merchDAL.GetManagers();
            Managers = new SelectList(managers, nameof(Employee.FirstName), nameof(Employee.FirstName), null, nameof(Employee.Department));

        }
        else
        {
            RedirectToPage("../Home");
        }
        return Page();
    }
public IActionResult OnGet()
{
if((Request.Cookies[“Admin”!=null)和&(Request.Cookies[“Admin”]=“True”))
{
ModelState.Clear();
列表管理器=_merchDAL.GetManagers();
经理=新的SelectList(经理、姓名(Employee.FirstName)、姓名(Employee.FirstName)、空、姓名(Employee.Department));
}
其他的
{
重定向Topage(“../Home”);
}
返回页();
}
页面上的控件为:

<div class="form-group row">
    <div class="col-3">
        <label asp-for="employee.Manager"></label>
    </div>
    <div class="col-6">
        <select asp-for="employee.Manager" class="form-control" asp-items="Model.Managers"> </select>
    </div>
    <span asp-validation-for="employee.Manager" class="text-danger"</span>
</div>


OnGet()
不会在POST请求时触发。如果需要在GET和POST请求中执行代码,则可以将其放入一个方法中,并从这两个请求中调用该方法。

OnGet()
不会在POST请求中触发。如果您需要在GET和POST请求中执行代码,那么您可以将其放入一个方法中,并从这两个请求中调用该方法。

除了断点未被命中之外,还有什么让您认为未执行
OnGet
方法?当您尝试加载页面时会发生什么情况?您可以检查是否有
services.AddRazorPages()和页面中的
@page
。@MikeBrind页面加载正常,但用于显示管理器列表的选择控件没有显示任何内容。如果我将代码放在添加员工的代码之后的OnPost()中(此页面的作用),列表将很好地填充。其他一切都可以,但OnGet()中没有填充下拉列表。在“编辑员工”页面中,相同的代码集很好地填充了select控件。@yiyiyiyou,验证了两者都存在。您将断点放在了哪里?请注意,在您的问题中,除了断点没有被命中之外,还有什么让您认为
OnGet
方法没有被执行?当您尝试加载页面时会发生什么情况?您可以检查是否有
services.AddRazorPages()和页面中的
@page
。@MikeBrind页面加载正常,但用于显示管理器列表的选择控件没有显示任何内容。如果我将代码放在添加员工的代码之后的OnPost()中(此页面的作用),列表将很好地填充。其他一切都可以,但OnGet()中没有填充下拉列表。在“编辑员工”页面中,相同的代码集很好地填充了select控件。@yiyiyiyou,验证了两者都存在。您将断点放在了哪里?请注意,在你的问题中,我猜按钮发送帖子,而锚请求get我猜按钮发送帖子,而锚请求get
<button asp-page="AdminAddEmployee" class="btn btn-primary">Add Employee</button>.  
<a asp-page="AdminAddEmployee" class="btn btn-primary">Add Employee</a>