Action 和 ActionLink 不适用于 ASP.NET Mono Razor 视图
Action and ActionLink not working on ASP.NET Mono Razor views
如何在没有 @Url.*
或 @Html.*
的情况下在 Razor 中使用 hyper linking
据我所知,link 视图在 ASP.NET MVC 中有 4 种方法:
@Url.Action
@Url.ActionLink
@Html.Action
@Html.ActionLink
我可以使用它们,例如:
<a href=@Url.Action("ActionName","ControllerName")> Test </a>
生成:
<a href="ControllerName/ActionName"> Test </a>
除了上面提到的 4 种方法之外,还有没有办法在 ASP.NET MVC Razor 中生成 Url 部分,即 "ControllerName/ActionName"?
背景:Mono is 。如果某种 Url 生成成功,那么我们可以在 Mono 上使用 ASP.NET MVC 5 和 Razor。
嗯,你可以随时查看 ASP.NET MVC 源代码,并复制你需要的东西,如果它还没有在单声道中实现的话。
您可以在这里找到它:https://github.com/ASP-NET-MVC/aspnetwebstack/blob/master/src/System.Web.Mvc/Html/LinkExtensions.cs
但我一直在使用 mono 和 ASP.NET MVC 4,我没有遇到像你这样的问题。
这是我在 github 上的代码,在单声道和 xsp 上是 运行。
https://github.com/rstraszewski/HomeCenter/tree/master/HomeCenter.Presentation
如您所见,例如在_Layout.cshtml中,我使用的是Html.ActionLink...虽然我使用windows和visual studio进行编译和开发,和单声道仅用于运行时...
您还可以创建自己的 html 助手来生成 links...
还有一个 Html.RouteLink 辅助方法,它也可以生成一个 link.
使用示例Html.RouteLink:
@Html.RouteLink("Some link", "Default", new RouteValueDictionary(new {controller = "Home", action = "Index"}))
是的,你也可以使用类似的东西:
<a href="~/Home/Index">Some link</a>
注意 ~/ 在上面的代码片段中很重要,没有它 Url 会表现出奇怪的行为,但你需要记住,这会起作用,因为这是默认路由的工作方式...如果您更改默认路由,这将无法工作。
如何在没有 @Url.*
或 @Html.*
据我所知,link 视图在 ASP.NET MVC 中有 4 种方法:
@Url.Action
@Url.ActionLink
@Html.Action
@Html.ActionLink
我可以使用它们,例如:
<a href=@Url.Action("ActionName","ControllerName")> Test </a>
生成:
<a href="ControllerName/ActionName"> Test </a>
除了上面提到的 4 种方法之外,还有没有办法在 ASP.NET MVC Razor 中生成 Url 部分,即 "ControllerName/ActionName"?
背景:Mono is
嗯,你可以随时查看 ASP.NET MVC 源代码,并复制你需要的东西,如果它还没有在单声道中实现的话。 您可以在这里找到它:https://github.com/ASP-NET-MVC/aspnetwebstack/blob/master/src/System.Web.Mvc/Html/LinkExtensions.cs
但我一直在使用 mono 和 ASP.NET MVC 4,我没有遇到像你这样的问题。 这是我在 github 上的代码,在单声道和 xsp 上是 运行。 https://github.com/rstraszewski/HomeCenter/tree/master/HomeCenter.Presentation
如您所见,例如在_Layout.cshtml中,我使用的是Html.ActionLink...虽然我使用windows和visual studio进行编译和开发,和单声道仅用于运行时...
您还可以创建自己的 html 助手来生成 links... 还有一个 Html.RouteLink 辅助方法,它也可以生成一个 link.
使用示例Html.RouteLink:
@Html.RouteLink("Some link", "Default", new RouteValueDictionary(new {controller = "Home", action = "Index"}))
是的,你也可以使用类似的东西:
<a href="~/Home/Index">Some link</a>
注意 ~/ 在上面的代码片段中很重要,没有它 Url 会表现出奇怪的行为,但你需要记住,这会起作用,因为这是默认路由的工作方式...如果您更改默认路由,这将无法工作。