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()) ? " " : 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);
Asp.net web form url route使用总结的更多相关文章
- ASP.NET Web Form和MVC中防止F5刷新引起的重复提交问题
转载 http://www.cnblogs.com/hiteddy/archive/2012/03/29/Prevent_Resubmit_When_Refresh_Reload_In_ASP_NET ...
- 在asp.net web form项目中添加webapi接口
我有一个支付宝服务网关是ASP.NET WEB FORM项目,但是最近这个网关需要对外提供几个接口,想了下,使用web api比较合适,实现很简单,GO 1,首先添加一个文件夹名字叫App_Start ...
- 添加asp.net mvc到现有的asp.net web form 应用程序
前言 asp.net mvc的前一版本为asp.net web Form(Asp.net mvc之前称为asp.net),其第一个版本与2002年年初发布.asp.net web form 属于.ne ...
- ASP.Net Web Form<一> aspx文件编译及呈现
对比复习下JSP 1.jsp的本质是Servlet ,会在第一次被访问时会被翻译成一个类文件,从此对这个页面的访问都是由这个类文件执行后进行输出. aspx 本质是IHttpHandler 2.jsp ...
- 关于asp.net web form 和 asp.net mvc 的区别
asp.net web forms 有什么缺陷? 1.视图状态臃肿:服务器和客户端传输过程中包含了大量的试图状态——在现在的web程序中甚至多达几百kb,而且每次往返都会请求,导致服务器请求带宽增加, ...
- ASP.NET Web API实践系列01,以ASP.NET Web Form方式寄宿
创建一个空的ASP.NET Web Form项目. 右键项目,添加新项,创建Web API控制器类,TestController. 删除掉TestController默认的内容,编写如下: using ...
- ASP.NET(Web Form)绘制图表 -- Google Chart 三部曲
ASP.NET(Web Form)绘制图表 -- Google Chart 三部曲 ASP.NET(Web Form)绘制图表 -- Google Chart 三部曲 1. 网页绘制图表 Googl ...
- ASP.NET MVC与ASP.NET Web Form简单区别与适用场景
概论: Asp.net 微软 提供web开发框架或者技术.分Web Form和ASP.NET MVC.下面简单说明各自优缺点及使用场景. Web Form 优点: 1.支持丰富的服务器控件.如:Gr ...
- 转载ASP.NET MVC 和ASP.NET Web Form简单区别
转载原地址 http://www.cnblogs.com/lei2007/p/3315431.html 概论: Asp.net 微软 提供web开发框架或者技术.分Web Form和ASP.NET ...
随机推荐
- soapUI 时间格式
用soapUI测试webservice,接收DateTime格式,总是包 not a valid AllXsd value 老外说,必须用ISO8601格式,如: 2009-03-13T22:16:0 ...
- js汉语转拼音(全拼、首字母、拼音首字母)
新建js文件first_alphabet.js // JavaScript Document // 汉字拼音首字母列表 本列表包含了20902个汉字,用于配合 ToChineseSpell //函数使 ...
- keepalived高可用
keepalived介绍 Keepalived是一个基于vrrp协议的高可用方案,vrrp协议的软件实现,原生设计的目的为了高可用ipvs服务. 1. vrrp协议 VRRP是一种容错协议,它通过把几 ...
- 在linux中添加ftp用户,并设置相应的权限
在linux中添加ftp用户,并设置相应的权限,操作步骤如下: 1.环境:ftp为vsftp.被限制用户名为test.被限制路径为/home/test 2.建用户:在root用户下: useradd ...
- 前端tip
background简写 参考地址 http://css.doyoe.com/ 缩写:background:url(test1.jpg) no-repeat scroll 10px 20px/50px ...
- bootstrap-datepicker使用
$('.date').datepicker({ language: 'zh-CN', --指定格式 format: 'yyyy-mm', --格式要求 autoclose: true, --选择后是否 ...
- python学习之路-day6-面向对象
一.面向对象学习 特性 class类 一个类即是对一类拥有相同属性的对象的抽象.蓝图.原型.在类中定义了这些对象的都具备的属性.共同的方法. 面向过程编程和面向对象编程: 面向过程编程:使用一系列的指 ...
- Linux_arm驱动之按键模拟脉冲实现定时器的精确计时
/***************************************************************** 内核驱动部分button_ker.c ************** ...
- CSS里常见的块级元素和行内元素
根据CSS规范的规定,每一个网页元素都有一个display属性,用于确定该元素的类型,每一个元素都有默认的display属性值,比如div元素,它的默认display属性值为“block”,成为“块级 ...
- 大前端学习笔记整理【一】CSS盒模型与基于盒模型的6种元素居中方案
概览 CSS盒模型,规定了元素框来处理元素的 内容.内边距.边框和外边距的方式 元素部分是指内容部分,也是最实际的内容,包围内容的称之为内边距,内边距外围是边框,边框外围就是外边距:且外边距是透明的, ...