我正在尝试获取有关带有 core 2.0 的 Razor Pages 的更多信息,但我在帖子中遇到了一些问题。请注意,这不值得生产,它只是用于尝试更好地了解您可以在 razor 页面中做什么的代码。
问题是,如果我的按钮在表单中,它不会将任何数据发送回视图。因此, OnPostConcatURL() 中的 computedURL 永远不会到达视图。
如果按钮在表单之外,表单数据不会到达后控制器 OnPostEdit23,但我可以将 ComputedURL 发送回视图。显然我错过了一些东西或很多东西。而且我找不到解决此问题的示例。
@page
@model VisibilityTest
@{ ViewData["Title"] = "Visibility Test Site"; }
<form id="frmVisibility" method="post">
<div class="container">
<div class="row form-group">
<div class="col-md-1"> Select Portal: </div>
<div class="col-md-1"><select id="ddlEnvironment" asp-for="selectedEnvironment" asp-items="Model.Environments"></select></div>
<div class="col-md-2"><select id="ddlPortalName" asp-for="selectedPortalName" asp-items="Model.portalNames"></select></div>
<div class="col-md-3"><input asp-for="@Model.ComputedURL" /></div>
</div>
<div class="row form-group">
<div class="col-md-1"><button id="btnConcatURL" asp-page-handler="ConcatURL" type="submit" class="btn btn-primary">Submit23</button></div>
</div>
</div>
</form>
<form method="post">
<button asp-page-handler="edit23" class="btn btn-default">Edit2</button>
</form>
[BindProperty]
public string ComputedURL { get; set; }
public void OnGet()
{
config = GetConfigFile();
PopulatedEnvironmentSelectList();
PopulatePortalNameSelectList(config);
}
public IActionResult OnPost()
{
ComputedURL = selectedEnvironment + selectedPortalName;
return RedirectToPage("./VisibilityTest");
}
public void OnPostConcatURL()
{
ComputedURL = "this is a test";
}
public void OnPostEdit23()
{
ComputedURL = "this is a test";
}