C# 如何使用.netcore 3.0版发布到Razor页面
我正试图用一些模型数据向.netcore 3.0 Razor页面发布一篇简单的文章。我希望在第一个页面中获取数据,然后将其发送到通用页面,在另一个页面上显示模式数据 通常情况下,我会在MVC中使用一个控制器,并在传递模型时返回一个视图 这就是我正在做的(RedirectToPage),它正在做一个GET(而不是POST)。我想发布数据 索引页C# 如何使用.netcore 3.0版发布到Razor页面,c#,asp.net-core,razor-pages,C#,Asp.net Core,Razor Pages,我正试图用一些模型数据向.netcore 3.0 Razor页面发布一篇简单的文章。我希望在第一个页面中获取数据,然后将其发送到通用页面,在另一个页面上显示模式数据 通常情况下,我会在MVC中使用一个控制器,并在传递模型时返回一个视图 这就是我正在做的(RedirectToPage),它正在做一个GET(而不是POST)。我想发布数据 索引页 <div class="text-center"> <h1 class="display-1">Test</h1>
<div class="text-center">
<h1 class="display-1">Test</h1>
<form method="post">
<button class="btn btn-dark" type="submit" asp-page-handler="Something">Get Lookup Table Data</button>
</form>
</div>
我现在意识到剃须刀页面不应该这样工作。吸取的教训
在这种情况下,我要做的正确方法是为我的数据创建一个WebApi,然后在Razor页面中调用它 HTTP不支持使用POST重定向到页面。当您重定向到某个地方时,HTTP“Location”标头会告诉浏览器要转到哪里,并且浏览器会对该页面发出GET请求。ResultsModel中的OnPost处理程序是什么?是否要获取索引的post请求中的数据并重定向到结果页的get方法并显示数据?这是它的副本,不是Razor页,HTTP协议不支持post重定向。
public IActionResult OnPostSomething()
{
var result = _service.GetTableData($"{id}").Result;
Objresult rr = new Objresult();
rr.Title = "Get Lookup Tables";
rr.Request = "";
rr.Json = result;
return RedirectToPage("Results","OnPost", rr);
}
https://localhost:44302/Results?Title=Test&Request=&Json=&handler=OnPost