私のアプリケーションでは、ユーザーがアプリケーションから htttps://www.google.co.in にリダイレクトできるようにしています。
そのために RouteLink を使用しました。actionLink でもできることはわかっています。
コード:
@Html.RouteLink("Google",null,"https","www.google.co.in", null, null, new { @style = "color:red" })
生成された HTML
<a style="color:red" href="https://www.google.co.in/Home/RouteLink">Google</a>
また、ルーティングも追加します
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "RouteLink",
url: "Home/RouteLink",
defaults: new { Controller = "Home", action = "RouteLink" });
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id =
UrlParameter.Optional }
);
}
私の質問は、なぜ上記のようなアンカータグを取得するのですか? RouteLink が別のドメインへのリダイレクトを許可しない場合、ホスト名とプロトコルを受け入れるメソッドがオーバーロードされた理由は?