• asp.net Routing 用法 拓荒者


      asp.net 4.0中提供了Routing 的支持。通过使用routing技术,我们可以方便的构建出友好的url,即能方便用户理解,又能做到SEO的优化。
      
      1.在Global中注册路由表
            void Application_Start(object sender, EventArgs e)
    {
    // 在应用程序启动时运行的代码
    this.RegisterRoutes(RouteTable.Routes);
    }

    void RegisterRoutes(RouteCollection routes)
    {
    routes.MapPageRoute(
    "BookDetails",
    "book/details/{index}/{keyword}",
    "~/book/details.aspx",
    false,
    new RouteValueDictionary()
    {
    {
    "index", "1" },
    {
    "keyword", ""}
    }
    );
    }

      

      2.生成URL

      一种方法是硬编码,根据上面的规则,我们可以简单的写出一个匹配的URL:/book/details/23/asp

      当然,硬编码的方式是不被推荐的,它不便于维护我们的规则。在这里,我们推荐使用VirtualPathData 来生成虚拟路径,在使用的时候,我们需要提供相应的路由名称和参数列表:

        RouteValueDictionary parameters = new RouteValueDictionary()
    {
    {
    "index", "19" },
    {
    "keyword", "Tom" },
    };

    VirtualPathData vpd
    = RouteTable.Routes.GetVirtualPath(null, "BookDetails", parameters);
    hlCreateURL.NavigateUrl
    = vpd.VirtualPath;

      在这段代码中,vpd.VirtualPath就是根据规则BookDetails生成的虚拟URL。

      3.获取参数值

      使用了Routing后,我们就不能再通过Request.QueryString 集合来获取URL的参数了。这是因为Routing并没有重写URL,只是将URL的处理交给了指定的页面。

      这个时候,我们要获取网页的参数,就需要使用Routing中的方法了。

    this.Page.RouteData.Values["index"];
    this.Page.RouteData.Values["keyword"];

      

      整个的使用流程就是这样的,首先要有规则,然后要有访问的地址,最后要能获取到实际的参数。

    ---------------------------------------------------------

    ps. 附上一些学习资源,分别来自老赵的博客和MSDN:

    2021年9月 北京、西安两地,高薪诚聘 .NET工程师,请私信联系!
    如果认为此文对您有帮助,别忘了支持一下哦!
    声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论,与本人所在单位没有直接利益关系。转载时请在文章页面明显位置给出原文链接。
  • 相关阅读:
    循环排序总结
    # 区间合并总结
    快慢指针
    #双指针总结
    滑动窗口总结
    leetcode 第 221 场周赛
    剑指 Offer 07. 重建二叉树
    leetcode 406. 根据身高重建队列
    [JLOI2014]松鼠的新家 T22 D71
    软件包管理器 T21 D71
  • 原文地址:https://www.cnblogs.com/youring2/p/2113595.html
Copyright © 2020-2023  润新知