【发布时间】:2021-06-18 15:20:26
【问题描述】:
我正在尝试为我的 OnPost 方法保留我的属性值。当我从最后一页更改为当前页面时,我在 OnGet 方法中设置了值。这是使用我的属性重定向到页面的按钮的 HTML:
<a class="btn" type="button" asp-page="CreateDate" asp-route-dateString="@Model.model.StartDate.AddDays(i).ToString("yyyy-MM-dd")"><i class="fa fa-plus-square"></i></a>
这是 OnGet 方法:
[BindProperty]
public DateTime eventDate { get; set; }
public void OnGet(string dateString)
{
var stringToDate = DateTime.Parse(dateString);
eventDate = stringToDate;
}
这是 OnPost:
public IActionResult OnPost()
{
Date date = new Date();
date.Date1 = eventDate;
date.Title = Request.Form["Title"];
date.Description = Request.Form["Description"];
dateService.AddDate(date, userID);
return RedirectToPage("Calendar");
}
最后是 OnPost 方法的 HTML:
<div>
<h5 class="pageTitle">Udfyld formular for at oprette et event for denne dato: @Model.eventDate.ToString("D")</h5>
<form method="post">
Navn på event:
<br />
<input name="Title" type="text" class="form-control input-lg" required autofocus />
<br />
Beskrivelse:
<br />
<input name="Description" type="text" class="form-control input-lg" required autofocus />
<br />
<input type="submit" value="Opret Event" class="btn btn-primary">
</form>
我还是个新手,所以我只是(希望)寻找一个简单的答案。谢谢!
【问题讨论】:
-
I am trying to keep the values of my property for my OnPost method.这是什么意思?将属性保留在包含OnPost方法的PageModel中?或者使用OnPost方法中的属性将页面重定向到Calendar? -
您需要阅读的内容在这里docs.microsoft.com/en-us/aspnet/core/fundamentals/… - 在您的情况下,看起来
hidden fields最适合您的要求。但是为了更安全的解决方案,您可以查看其他方法。
标签: c# asp.net-core razor razor-pages model-binding