0

任何人都可以向我提供我们如何实现自定义 URL 重写的详细信息asp.net

我当前的网址如下所示:

www.domainname.com/News/default.aspx?newstitle=todays latest news

现在我想重定向到以下网址:

www.domainname.com/News/todays-latest-news

请建议我如何实现同样的目标。

4

3 回答 3

1

将此添加到 global.asax

using System.Web.Routing; //top of the page

protected void Application_Start(object sender, EventArgs e)
{
    RegisterRoutes(RouteTable.Routes);
}

void RegisterRoutes(RouteCollection routes)
{
    routes.MapPageRoute("", "news/{news}", "~/news/default.aspx");
}

然后您可以在 default.aspx 中获取新闻标题,如下所示:

protected void Page_Load(object sender, EventArgs e)
{
    if (this.RouteData.Values.Count > 0)
    {
        string newstitle = this.RouteData.Values[0].ToString();
    }
}
于 2013-08-19T05:41:45.137 回答
0

要实现您的任务,请使用名为 asp.net 路由的概念,这里有几个示例供您更好地理解

http://www.codeproject.com/Articles/77199/URL-Routing-with-ASP-NET-4-0

http://msdn.microsoft.com/en-us/library/cc668201%28v=vs.100%29.aspx

于 2013-08-19T08:44:39.717 回答
0

为此,您可以使用 URLRewriter.Net。它很容易集成到 asp.net 项目中,而且它是开源的。将 urlRewriter.Net 的 dll 文件添加到您的项目中,并在您的 web.config 文件中设置重写规则。尽管在将它与 ajax 回发页面一起使用时要小心。如果您遇到 ajax 回发问题,请在 Raw url 中。

于 2014-10-13T03:32:04.237 回答