【发布时间】:2018-10-13 19:02:26
【问题描述】:
我正在使用 .Net Core 进行项目,并且正在使用 ASP Razor Pages。 在我的模型中,我有一个 OnGet,它可以在我的视图中加载我需要的所有数据。
public IList<Projet> Projets { get; set; }
public ActionResult OnGet()
{
Projets = _serviceSelect.getProjets();
return Page();
}
然后,在我提交表单时激活的 OnPost 中。
<form method="post">
<div asp-validation-summary="All" class="text-danger"></div>
<input type="radio" value="1" asp-for="LoginData.TypeCompte" />choice<br />
Username: <input asp-for="LoginData.Username" /><br />
Password: <input asp-for="LoginData.Password" /><br />
Remember me: <input asp-for="LoginData.RememberMe" type="checkbox" /><br />
<input asp-page-handler="connexion" type="submit" value="Login" />
@Html.AntiForgeryToken()
</form>
我想使用我的 ModelState 在我的视图中显示一个错误。
public ActionResult OnPostConnexion()
{
if (ModelState.IsValid)
{
// Do stuff
}
else
{
ModelState.AddModelError("", "username or password is blank");
return Page();
}
}
但是,当我返回 Page() 时,就像重新加载模型一样,当我尝试访问我的数据时,我的对象为空。
Object reference not set to an instance of an object.
@foreach (var item in Model.Projets)
如何在不丢失模型中包含的数据的情况下更新视图?
【问题讨论】:
标签: c# asp.net-core razor-pages