例如 http://localhost:5555/1.aspx?id=1
当id=1时,就直接跳转到 http://localhost:5555/1.aspx?id=1
当url为 http://localhost:5555/1.aspx?id=2
即id=2是,需要跳转到http://localhost:5555/2.aspx?id=2
请问如何才能实现?我认为这个是可以实现的,
但是不是在1.aspx.cs中load的事件中实现的
Application_BeginRequest
事件中可以实现
把URL用变量字符串拼凑?
string path=http://localhost:5555/+“+url+”
不是这个意思,我是想知道通过什么全局的事件来处理我上面想做的事情
比如一个专门管理请求的事件之类的
这样可否?
<script>
var id = window.location.href.split("=")[1];
window.open("http://localhost:5555/"+id+".aspx?id="+"id");
</script>
这种我就不问了,我也会啊,我是想很多地方都用到这个处理,我觉得应该有这个事件来处理的,有点像路由
在启动程序中的RouteTable对象中实现就可以了。
void Application_Start(object sender, EventArgs e) { RegisterRoutes(RouteTable.Routes); } public static void RegisterRoutes(RouteCollection routes) { routes.Add(new Route ( "{locale}/{year}" , new ReportRouteHandler() ) { Constraints = new RouteValueDictionary {{"locale", "[a-z]{2}-[a-z]{2}"},{year, @"\d{4}"}} }); routes.MapPageRoute("StoreRoute", "BookStore/{Name}", "~/Webpages/BookStore/ViewBookDemo.aspx"); }
这种输入的url就不会改变了,还需要把跳转后的url显示出来
@刘宏玺: 你在地址栏中输入的地址也可以在RouteTable对象中取出来。获取你的Id的值。再进行拼接。
@ArnoldZhang: 主要是我需要去数据库判断下id的值,如果id在表1 中就去1.aspx,id在表2 中就去2.aspx
url重写么
我查查资料
这个搞不定啊
实现IHttpModule,每次访问的时候进行判断id