首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

URL重写,如何让传过去的id转换成用户名后,在重写URL(顶者有分)

2011-12-30 
URL重写,怎么让传过去的id转换成用户名后,在重写URL(顶者有分)现在我在做一个博客,想做URL映射,让地址显示

URL重写,怎么让传过去的id转换成用户名后,在重写URL(顶者有分)
现在我在做一个博客,想做URL映射,让地址显示为http://localhost/blog/userName
但我现在真实地址是这样的
http://localhost/blog/index.aspx?id=***
我要怎么做才能把   这个id号转换成用户名,然后在映射成我的要URL?userName在数据库中!



[解决办法]
哈哈,沙发
[解决办法]
如果已经会Url重写了,直接查数据库再重写就可以了.或者不转换,在index.aspx中查一下用户名也可以.
[解决办法]
友情帮顶
[解决办法]
UP下
[解决办法]
学习+顶顶
[解决办法]
关注中````求正解`````
[解决办法]
搜索一下利用httpmodule进行重写.HttpContext.Current.RewritePath( "aaa.aspx?id= "+sId);
[解决办法]
http://www.ssxz.com/iuhxq/index.html
[解决办法]
顶一个,学习
[解决办法]
已经有username了还需要id吗,直接用正则取到username,然后sql就好了
[解决办法]
学习
学习
UP
[解决办法]
JF
[解决办法]
恩,主要就是自己写个httpmodule
拦截请求,解析request 的url
然后重新转向就可以了~~
[解决办法]
学习~
[解决办法]
顶。。
[解决办法]
先顶
[解决办法]
学习
[解决办法]
这里有一种最常用的方法
http://localhost/blog/index.aspx?id=***
http://localhost/blog/index_***.html

[解决办法]
up
[解决办法]
ID号都有想要什么得不到?
[解决办法]
net2.0框价中有
System.Net.HttpListener
System.Net.HttpListenerRequest
两个类
在web.config <httpModules> 中添加
<httpModules>
<add name= "HttpListenerModule " type= "portal.HttpListenerModule "/>
</httpModules>


namespace portal
{
/// <summary>
/// HttpListenerModule的摘要说明

/// </summary>
public class HttpListenerModule:IHttpModule
{
// IHttpModule::Init
public void Init(HttpApplication app)
{
// 注册管道事件
app.AcquireRequestState +=
new EventHandler(OnAcquireRequestState);
}

// IHttpModule::Dispose
public void Dispose() {}

// 确定是否正在处理 F5 或后退/前进操作
private void OnAcquireRequestState(object sender, EventArgs e) {
// 访问 HTTP 上下文
HttpListener listener = new HttpListener();


HttpListenerRequest request = listener.GetContext().Request;
Uri url = request.url;
//下面就是解析当前的url了应该比较简单我就不说了;

return;
}
}

}


[解决办法]
JF
[解决办法]
上面我写的有误:改为:
HttpListener listener = new HttpListener();

listener.Prefixes.Add( "监听的网页地址 ");//不过不能监听本机的工程
listener.Start();

HttpListenerRequest request = listener.GetContext().Request;
HttpListenerResponse response = listener.GetContext().Response;
Uri url = request.Url;

我重新修改代码弥补这个缺陷:
private void OnAcquireRequestState(object sender, EventArgs e) {
// 访问 HTTP 上下文

HttpApplication app = (HttpApplication) sender;
HttpContext ctx = app.Context;
HttpRequest request = ctx.Request;
HttpResponse response = ctx.Response;
Uri url = request.url;
//下面就是解析当前的url了应该比较简单我就不说了;
return;

}

[解决办法]
我在一篇文章里见过,在内存中修改这个值.你找找看.
[解决办法]
幫頂...
[解决办法]
http://zhytalent.cnblogs.com
[解决办法]
呵呵 前两个我也学了下URL重写 我的问题和你的一样 已经解决了 不过我的是Apache
[解决办法]
呵呵
[解决办法]
学习.......
[解决办法]
长见识了``呵呵```
[解决办法]
學習,up
[解决办法]
up
[解决办法]
等待
学习
[解决办法]
不会,帮顶
[解决办法]
菜鸟一问:是不是要实现URL重写,必须在服务器上做动作,不在服务器上做任何事情,可以实现URL重写吗??

如果可以,哪位大哥能给个实例??
[解决办法]
ding xia
[解决办法]
学习下 顶
[解决办法]
学习.
[解决办法]
mark
[解决办法]
学习
[解决办法]
路过
[解决办法]
你就在index页面中根据用户名查出ID就可以了
[解决办法]
学习
[解决办法]
你的用户名也是不能重复的

热点排行