我的问题不在于网址重写。
我想更改浏览器上的网址。
例如,实际网址是:
本地主机:57358 /管理/ news.aspx编号= 24
我希望它看起来像
本地主机:57358 /管理/ somecontent写入....
为了实现这一点,我在我的global.asax中编写了一个代码,但它完全是关于url重写的。
protected void Application_BeginRequest(object sender, EventArgs e)
{
string sRequestedURL = Request.Path;
string url = Request.Url.ToString();
if (url.Contains("inner.aspx"))
{
int id = int.Parse(url.Split('=')[1]);
ManageNews mn = new ManageNews();
string title = mn.getTitleByNewsId(id);
string targetUrl = "~/inner.aspx?Content=" + title;
Context.RewritePath(targetUrl, false);
}
}
请帮我解决这个问题。
答案 0 :(得分:0)
也许我并没有真正得到你想要做的事情,但为什么不使用Routing(walk through here)来实现你想要的。这样,您可以在应用程序的开头指定Route,并让asp.net处理它。
从链接引用 -
ASP.NET路由使您可以使用不必映射到网站中特定文件的URL。由于网址不必映射到文件,因此您可以使用描述用户操作的网址,因此用户更容易理解。
e.g。
routes.MapPageRoute("SomeContent",
"Admin/SomeContent"
"Admin/news.aspx?Id=24");
如果您尝试做一些更加动态的事情,您可以遵循使用here的相同路径(尽管MVC的逻辑保持不变,逻辑保持不变),其中路由配置通过一个数据库。