【问题标题】:Having dash or url on MapRoute在 MapRoute 上有破折号或 url
【发布时间】:2020-09-18 20:50:34
【问题描述】:

我尝试从用户那里获取 url 并像这样提供 MapRoute:

routes.MapRoute("checkUrl", "tools/{id}", new { controller = "Home", action = "tools" }, new { });

在这种情况下,它适用于以下网址:"/tools/www.domain.com/"

但我怎么能管理这样的网址:"/tools/www.domain.com/view/child/child/?id=4"

路由找不到这样的地址。

【问题讨论】:

    标签: asp.net asp.net-mvc api model-view-controller maproute


    【解决方案1】:

    您可以在 nexy maproute 中使用 catchall 或使用它来代替 id。

    【讨论】:

      【解决方案2】:

      您不能直接将 URL 作为参数传递。你必须传入一个查询字符串。

      在传递 URL 之前,您必须对 URL 进行编码。

      请参考我的 URL 以获取下面的通行证“/tools/www.domain.com/view/child/child/?id=4”。

      http://localhost:54964/Home/Index?id=www.domain.com%2Fview%2Fchild%2Fchild%2F%3Fid%3D4

      我在方法中的 id 参数中获取值。

      public ActionResult Index(string id)
      {
                  return View();
      }
      

      【讨论】:

        猜你喜欢
        • 2015-09-03
        • 1970-01-01
        • 2010-12-18
        • 2010-10-06
        • 2018-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多