Asp.net core 如何创建一个按钮,单击该按钮将转到razor页面(dotnet core 2中的“razor页面”)

Asp.net core 如何创建一个按钮,单击该按钮将转到razor页面(dotnet core 2中的“razor页面”),asp.net-core,asp.net-core-2.0,razor-pages,Asp.net Core,Asp.net Core 2.0,Razor Pages,我可以使用锚定标记帮助器转到不同的razor页面(从现有的razor页面),例如,这样做: <a asp-page="./EditReport" asp-route-id="@report.IntegrityReportId" class="btn fa fa-edit"></a> 但这个方法从未被调用过(我也尝试过在PosteditReport上命名这个方法,但同样的问题 如果有帮助的话,我最初的非dotnet核心应用程序可以很好地使用: <button typ

我可以使用锚定标记帮助器转到不同的razor页面(从现有的razor页面),例如,这样做:

<a asp-page="./EditReport" asp-route-id="@report.IntegrityReportId" class="btn fa fa-edit"></a>
但这个方法从未被调用过(我也尝试过在PosteditReport上命名这个方法,但同样的问题

如果有帮助的话,我最初的非dotnet核心应用程序可以很好地使用:

<button type="button" title="Edit report" class="btn btn-datatable fa fa-edit" onclick="location.href = '@Url.Action("EditReport", "Home", new {id = report.IntegrityReportID})'"></button>


非常感谢您的帮助。谢谢。

如果没有javascript,您不能只使用一个按钮重定向到另一个razor页面。您可以使用表单标记内的提交按钮重定向到另一个razor页面。以下示例演示如何进行GET重定向,从而重定向到“关于”页面:

<form method="get">
    <button type="submit" asp-page="./About">Click me to go to the About page</button>
</form>

单击我转到关于页面
如果需要POST请求,请使用以下代码:

<form method="post">
    <button type="submit" asp-page="./About">Click me to go to the About page</button>
</form>

单击我转到关于页面
在这两种情况下,您都可以定义路由值或处理程序,以满足需求


我希望它能有所帮助。

我通过使用下面的锚获得了所需的效果-因此它看起来像一个按钮

<a asp-page="./EditReport" asp-route-id="@report.IntegrityReportId" class="btn btn-default"><i class="fa fa-edit"></i></a>

我知道已经晚了一年,但您必须删除'type=“button”“,同时尝试从asp页面=“/EditReport”中删除“.”。
BR.

以下解决方案在我的ASP.NET Core 3.1项目中对我有效:

编辑


上面突出显示的代码都在一行上,这就是堆栈溢出显示答案的方式。注意:我选择在按钮文本之前显示图标,然后在按钮标签“Edit”之前添加了一个chazr空格,这样按钮看起来就更好了。

这在ASPNET Core 3.1中起作用

<form method="get" action="/myRazorPage">
    <button type="submit">Join Now</button>
</form>

现在加入

谢谢pitaridis,但我仍然无法实现这一点。页面看起来确实在做一些事情,但原始页面又再次出现。您将如何使用javascript进行操作?您知道为什么我们需要使用javascript进行此操作,以及/或为什么这与我可以使用formaction的标准MVC有所不同吗?非常感谢
<form method="post">
    <button type="submit" asp-page="./About">Click me to go to the About page</button>
</form>
<a asp-page="./EditReport" asp-route-id="@report.IntegrityReportId" class="btn btn-default"><i class="fa fa-edit"></i></a>
<form method="get" action="/myRazorPage">
    <button type="submit">Join Now</button>
</form>