剃刀页面视图模型类中的 Url.Action 备用

Posted

技术标签:

【中文标题】剃刀页面视图模型类中的 Url.Action 备用【英文标题】:Url.Action alternate in razor page view model class 【发布时间】:2018-12-11 22:31:59 【问题描述】:

可以用什么来获取项目<website>/Pages/Account/Logout.cshtml这个路径下的页面的URL

这是使用视图模型剃须刀页面,而不是 mvc 控制器/动作

当我使用Url.Action("/Account/Logout", new logoutId = ogoutId ); 时,它说无法解决操作/Account/Logout

【问题讨论】:

【参考方案1】:

在 Razor 页面中,您可以使用 @Url.Page。

<a href="@Url.Page("/Account/Logout",new  logoutId = 1 )">Logout</a>

或者直接使用asp-page,查看更多用法here。

<a asp-page="/Account/Logout" asp-route-logoutId ="1">Logout</a>

【讨论】:

谢谢,如果有自定义路由配置,这会自动返回正确的 url 吗? 会的。如果您将自定义路由设置为@page "/Test/logoutId:int"in Logout.cshtml,它将返回/Test/1

以上是关于剃刀页面视图模型类中的 Url.Action 备用的主要内容,如果未能解决你的问题,请参考以下文章

剃刀视图 MVC 中的多个模型

无法在剃刀视图中使用扩展方法

显示输入类型编号但模型属性字符串的剃刀视图的验证消息

如何从剃刀视图提交具有动态列表的模型中的列表? ASP.NET 核心 3.1

如何从我的视图的 javascript 访问我的代码隐藏文件中的 JsonResult 变量?剃刀页面。 C#

剃刀页面是不是位于 mvc 层之上?