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 回答