21
からMVCコントローラのアクションへのIは、以下のようなものを使用してMVCコントローラのアクション内の他のコントローラのアクションにルートURLを生成するために使用しています:生成ルートのURL 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)
{
}
}
しかし、私はまたにできるようにする必要がありますwebapi内からMVCコントローラアクションへのURLを生成するにはどうすればよいですか?
APIControllerにはUrlHelperプロパティがあるようですが、これを使用する方法の例は見つけられず、自分自身を理解することができませんでした。
更新: URLを生成しようとしているのは、この特定のwebapiメソッドが、受信者にサイトの適切なセクションにユーザーを誘導するためのリンクを提供する電子メールを送信するからです。私は明らかにこれをハードコーディングから取り除きたいのですが、異なる展開ではうまくいかず、またルーティングを変更し始めるとこのリンクが壊れてしまいます。これを行うにはより良いアプローチがありますか?
あなたは正しいです。ありがとう – Kramer00
@TrueBlueAussieあなたは間違ったUrlHelperを見ています。 mvcではなくhttpを見てください。 – Steve
http://msdn.microsoft.com/en-us/library/system.web.http.routing.urlhelper_methods(v=vs.118).aspx属性ルーティングを使用している場合は、ルートに名前を付けます。 – Steve