首页新闻找找看学习计划

web url参数据忧化

0
悬赏园豆:5 [已解决问题] 解决于 2014-10-29 23:48

请问大家在做WEB项目的时候,有没有发现,当我们访问一个参数据比较多的页面的时候,url的参数据会在浏览器的URL地址栏内显示的很乱,如:

http://a.aspx?a=11&b=222&c=333&d=.........

虽然说大部份用户都不会在呼URL内的参数据意思,但是小部份用户还是关心URL里面的内容。所以请教大家有没有忧化URL的方法,比如只显示a.aspx ,然后其它的参数据使用JSON或者其它方法隐式的传递

不知道大家没有办法,特上来征求大家的意见和想法,希望大家能指点个思路

beggar_的主页 beggar_ | 初学一级 | 园豆:18
提问于:2014-04-14 17:36
< >
分享
最佳答案
0

在项目下建一个全局应用程序类,在Application_BeginRequest()事件中来实现URL重写,通过Request.AppRelativeCurrentExecutionFilePath拿到你要请求的页面路径,然后用正则表达式进行匹配,

string url = Request.AppRelativeCurrentExecutionFilePath;
Match match = Regex.Match(url,@"~/View-(\d+)\.aspx");
if(match.Success)
{
     string id = match.Groups[1].Value;       
     Context.RewritePath("~/ViewArticle.aspx?id="+id) ;
}

通过这种方式即可实现URL重写,用户看到的是View-1.aspx,但实际请求的是另一个页面。

收获园豆:5
轻狂の书生 | 小虾三级 |园豆:1040 | 2014-04-15 10:05
其他回答(4)
0

....传值方式有3种,你不喜欢querystring可以换post或者cookie

吴瑞祥 | 园豆:28729 (高人七级) | 2014-04-14 17:38
0

用WebForm的话,还要参数名与值对应,真的不好。

用Asp.Net Mvc就可以很优雅的解决了这个问题,经常在门户网里看到,比如:

http://list.jd.com/737-794-880-0-0-0-0-0-0-0-1-1-1-1-1-72-4137-33.html

如果隐式,可以post,也就是表单提交,但如果把参数放入cookie来传递,那真不好。

king2003 | 园豆:161 (初学一级) | 2014-04-14 18:01
0

这用一个常面试的题目回答最好了 常用的页面传值方式有几种

Zery | 园豆:6069 (大侠五级) | 2014-04-15 08:28
0

Server.Transfer跳到别的页面后,浏览器显示的地址不会改变,这也算一种思路。

奇旭 | 园豆:147 (初学一级) | 2014-04-16 09:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册