jestem przyzwyczajony do generowania adresów URL trasa do innych działań regulatora w ramach działania kontrolera MVC za pomocą czegoś podobnego do przedstawionego poniżej:Generowanie trasy Url do MVC działania kontrolera z WebAPI
public class ApplicationController : Controller
{
public ActionResult Index()
{
var url = Url.RouteUrl("routename",
new { controller = "Application", Action = "Index2" , other="other" });
}
public ActionResult Index2(string other)
{
}
}
Ale też trzeba, aby móc generowanie adresów URL do działań kontrolera MVC również z poziomu webapi. Jak mam to zrobić?
Wygląda na to, że właściwość UrlHelper znajduje się na APIControllerze, ale nie mogę znaleźć żadnych przykładów, jak tego użyć i nie byłem w stanie sam tego rozgryźć.
AKTUALIZACJA: Powodem, dla którego próbuję wygenerować adres URL, jest to, że ta konkretna metoda webapi wysyła wiadomość e-mail, która zapewnia odbiorcy link do skierowania użytkownika z powrotem do odpowiedniej sekcji witryny. Oczywiście chcę odejść od hardcoding, ponieważ nie będzie działać w przypadku różnych wdrożeń, a także jeśli zacznę zmieniać routing ten link zostanie zerwany. Czy istnieje lepsze podejście do robienia tego?
Jesteś poprawne. Dzięki – Kramer00
@TrueBlueAussie patrzysz na zły UrlHelper. Popatrz na http, a nie na mvc. – Steve
http://msdn.microsoft.com/en-us/library/system.web.http.routing.urlhelper_methods(v=vs.118).aspx. Jeśli używasz routingu atrybutów, nazwij trasy. – Steve