如何改变asp.net页面的网址?

时间:2015-02-21 09:51:00

标签: c# asp.net

我的问题不在于网址重写。

我想更改浏览器上的网址。

例如,实际网址是:

  

本地主机: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);

    }
}

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

也许我并没有真正得到你想要做的事情,但为什么不使用Routingwalk through here)来实现你想要的。这样,您可以在应用程序的开头指定Route,并让asp.net处理它。

从链接引用 -

  

ASP.NET路由使您可以使用不必映射到网站中特定文件的URL。由于网址不必映射到文件,因此您可以使用描述用户操作的网址,因此用户更容易理解。

e.g。

 routes.MapPageRoute("SomeContent",
        "Admin/SomeContent"
        "Admin/news.aspx?Id=24");

如果您尝试做一些更加动态的事情,您可以遵循使用here的相同路径(尽管MVC的逻辑保持不变,逻辑保持不变),其中路由配置通过一个数据库。