Asp.net-Mvc
從 WebAPI 生成路由 URL 到 MVC 控制器操作
我習慣於使用類似於以下內容的 MVC 控制器操作中的其他控制器操作生成路由 URL:
public class ApplicationController : Controller { public ActionResult Index( ) { var url = Url.RouteUrl("routename", new { controller = "Application", Action = "Index2" , other="other" }); } public ActionResult Index2( string other) { } }但是我還需要能夠從 webapi 中生成 MVC 控制器操作的 URL,我將如何去做呢?
APIController 上似乎有一個 UrlHelper 屬性,但我找不到任何有關如何使用它的範例,並且我自己也無法弄清楚。
更新:我試圖生成一個 url 的原因是這個特定的 webapi 方法發送了一封電子郵件,該電子郵件為收件人提供了一個連結,以將使用者引導回網站的適當部分。我顯然想擺脫硬編碼,因為它不適用於不同的部署,而且如果我開始更改路由,此連結將被破壞。有沒有更好的方法來做到這一點?
您也可以將 MVC 路由名稱與 Web API UrlHelper 一起使用。例子,
Url.Link("Default", new { Controller = "Account", Action = "Login" });要麼
Url.Route("Default", new { Controller = "Account", Action = "Login" });