【发布时间】:2021-05-16 02:33:48
【问题描述】:
我有一个带有<a> 链接的简单视图。我想在单击它到带有模型的 Razor 页面后重定向。我做了asp-page="/mypage",但它只是将网址更改为/SiteFromWhichIRedirect/mypage,仅此而已。我当前所在的页面(带有<a> 标签的页面)刚刚刷新。
我做错了什么?
【问题讨论】:
标签: .net asp.net-core razor-pages
我有一个带有<a> 链接的简单视图。我想在单击它到带有模型的 Razor 页面后重定向。我做了asp-page="/mypage",但它只是将网址更改为/SiteFromWhichIRedirect/mypage,仅此而已。我当前所在的页面(带有<a> 标签的页面)刚刚刷新。
我做错了什么?
【问题讨论】:
标签: .net asp.net-core razor-pages
点击<a>时,会创建一个Get Request。如果要传递数据,则需要添加asp-route-xxx之类的属性。例如,要传递Id和Name。链接必须是这样的:
<a asp-page="Create" asp-route-id="1" asp-route-name="name1">Create</a>
如果你想去 razor 页面处理程序,你可以使用asp-page-handler:
<a asp-page-handler="Create" asp-route-id="1" asp-route-name="name1">Create</a>
这是一个演示:
型号:
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
}
cshtml.cs:
public class IndexModel : PageModel
{
public IActionResult OnGet()
{
return Page();
}
public IActionResult OnGetCreate(Student s) {
return Page();
}
}
cshtml:
<a asp-page-handler="Create" asp-route-id="1" asp-route-name="name1">Create</a>
【讨论】: