zoukankan      html  css  js  c++  java
  • Asp.net web form url route使用总结

    asp.net web form 使用URL路由 注不是mvc中的路由

    一、前台控件使用路由,通过表达式生成url地址,注意给路由参数赋值,防止使用了其他路由表达式值
    方式1:
    <asp:HyperLink ID="hlSupply" NavigateUrl='<%$RouteUrl:routename=TechSupplySearch,areacode=,techfield=%>'
                    runat="server">技术供给</asp:HyperLink>
    方式2:
    <a href="<%=GetRouteUrl("MemberSearch",new { membertype="Commpany" ,areacode="",industrycode="",pageindex="" })  %>">科技企业</a>

    控件界面数据绑定中使用
                                    <asp:Repeater ID="myGrid" ViewStateMode="Disabled" runat="server">
                                        <ItemTemplate>
                                            <li><a target="_blank" href='<%# this.GetRouteUrl("TechSupplyView", new { id=Eval("SupplyId")}) %>' ><%# Eval("SupplyName")%></a><span><%# string.IsNullOrEmpty(Eval("cityname").ToString()) ? "&nbsp" : Eval("cityname")%></span><span><%# Eval("hightech")%></span> </li>
                                        </ItemTemplate>
                                    </asp:Repeater>

    url 路由分页控件:urlpager


    二、服务端后台代码使用路由


    1、Global.asax文件
        void Application_Start(object sender, EventArgs e)
        {
            //在应用程序启动时运行的代码
            RegisterRoutes(RouteTable.Routes);
        }
        //注册url路由
        void RegisterRoutes(RouteCollection routes)
        {
            routes.RouteExistingFiles = false; //默认不路由与物理路径一致的url:如http://localhost/MyFolder/MyPage.aspx;好处是不对静态资源文件进行路由,否则静态文件如js、css等会导致多次触发Page_Load事件。

            //routes.Ignore("{resource}.axd/{*pathinfo}");//经实践这种方式屏蔽对静态资源文件的路由无效。
            //routes.Ignore("{path}/{name}.jpg");//经实践这种方式屏蔽对静态资源文件的路由无效。
            

            //注册路由
            routes.MapPageRoute("TechNewsSearch", "TechNews/{pageindex}", "~/NewsInfo/TechNewsSearch.aspx", true, new RouteValueDictionary { { "pageindex", "1" } }, new RouteValueDictionary { { "pageindex", @"d{1,}" } });
       
            routes.MapPageRoute("TechSupplySearch", "Supply/{areacode}/{techfield}/{pageindex}", "~/TechSupply/TechSupplySearch.aspx", true, new RouteValueDictionary { { "areacode", "0" }, { "techfield", "0" }, { "pageindex", "1" } }, new RouteValueDictionary { { "pageindex", @"d{1,}" } });

            routes.MapPageRoute("MemberSearch", "Members/{membertype}/{areacode}/{industrycode}/{pageindex}", "~/Member/MemberSearch.aspx", true, new RouteValueDictionary { { "membertype", "0" }, { "areacode", "0" }, { "industrycode", "0" }, { "pageindex", "1" } }, new RouteValueDictionary { { "pageindex", @"d{1,}" } });
    }

    2、WebForm页面后台代码中使用


    获取、更改路由参数值
    routeValue = Page.RouteData.Values["techfield"] == null ? string.Empty : Page.RouteData.Values["techfield"].ToString();//获取路由参数

    Page.RouteData.Values["areacode"] = selOrgan.SelectedValue;//所在地 更改路由参数

    Page.RouteData.Values.Remove("Over"); //移除路由参数

    后台代码中生成路由地址
    newUrl = this.GetRouteUrl("MemberSearch", Page.RouteData.Values);

    页面客户端跳转路由方式实现
    Response.RedirectToRoute("TechSupplySearch", Page.RouteData.Values);
    Response.RedirectToRoutePermanent("TechSupplySearch", Page.RouteData.Values);

  • 相关阅读:
    《如何评价Kaiming He的Momentum Contrast for Unsupervised?》
    多伦多大学&NVIDIA最新成果:图像标注速度提升10倍!
    GitHub超全机器学习工程师成长路线图,开源两日收获3700+Star!
    上Github,北大、清华、浙大、中科大4大名校课程在线学,加星总数超1.8万
    使用Python+OpenCV进行图像处理(二)| 视觉入门
    重磅!刷新两项世界纪录的腾讯优图人脸检测算法DSFD开源了!
    巴黎不哭!十亿数据精准扫描,帮卡西莫多重新找回他的玫瑰花窗
    机器学习算法系列:FM分解机
    百道Python面试题实现,搞定Python编程就靠它
    学习GAN必须阅读的10篇论文
  • 原文地址:https://www.cnblogs.com/aphason/p/3930263.html
Copyright © 2011-2022 走看看