📜  模型内的 URL.Action (1)

📅  最后修改于: 2023-12-03 15:10:57.097000             🧑  作者: Mango

模型内的 URL.Action

URL.Action 是 ASP.NET MVC 中的一个帮助程序,它用于生成 URL,并且支持语言和控制器之间的分离。

在模型中使用 URL.Action,可以方便地生成 URL,而不必从控制器中获取 URL。

使用方法
@Url.Action("ActionName", "ControllerName", new { id = 33 })

在上面的例子中,"ActionName" 表示要调用的操作名称, "ControllerName" 表示要调用的控制器名称,而 "id" 参数表示传递给操作的参数。

参数
actionName

此参数表示要调用的操作名称。

controllerName

此参数表示要调用的控制器名称。

routeValues

此参数表示要传递给操作的参数。它通常是一个对象,其中包含要传递的键值对。

protocol

此参数是一个可选的 protocol(协议)参数,可用于指定 URL 的协议。它默认为 null,即使用 HTTP 协议。

hostName

此参数是一个可选的 hostName 参数,可用于指定 URL 的 hostname。它默认为 null,即使用当前请求的主机名。

示例
示例 1
@Url.Action("Index", "Home")

在这个例子中,我们调用了 "Index" 操作,并且 "Home" 控制器在应用程序中是存在的。

示例 2
@Url.Action("Details", "Employee", new { id = Model.Id })

在这个例子中,我们调用了 "Details" 操作,"Employee" 控制器在应用程序中是存在的,并且我们还将一个 ID 传递给操作。

示例 3
@Url.Action("Index", "Home", null, "https", "www.example.com")

在这个例子中,我们调用了 "Index" 操作, "Home" 控制器在应用程序中是存在的,并且我们使用了 HTTPS 协议和 "www.example.com" 做为 hostname。

总结

URL.Action 在 ASP.NET MVC 应用程序中是很常见的一种技术。它使我们能够方便地生成 URL,并且可以实现语言和控制器之间的分离。在 AppModule 中使用 URL.Action,可以方便的生成 URL,无需从控制器中获取 URL。