0

私のアプリケーションでは、ユーザーがアプリケーションから 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 が別のドメインへのリダイレクトを許可しない場合、ホスト名とプロトコルを受け入れるメソッドがオーバーロードされた理由は?

4

1 に答える 1

0

私の質問は、上記のようにアンカータグを取得する理由です

RouteLink の 3 番目と 4 番目のパラメーターで具体的にそのように指示するためです。

RouteLink が別のドメインへのリダイレクトを許可しない場合、なぜホスト名とプロトコルを受け入れるメソッドがオーバーロードされたのでしょうか?

それはあなたがそれを使用するものではないからです。RouteLink姉妹メソッドActionLinkは、アプリケーション内で有効な (または安全な) リンクを生成するために使用されます。

外部のアプリケーション/ウェブサイトにリンクしたい場合は、アンカー タグを使用してください。

于 2013-05-08T06:03:05.467 に答える