【问题标题】:Custom Url Rewriting in asp.net在 asp.net 中自定义 URL 重写
【发布时间】:2013-08-19 05:26:40
【问题描述】:

谁能告诉我我们如何在asp.net中实现自定义URL重写

我当前的网址如下所示:

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

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

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

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

【问题讨论】:

标签: asp.net


【解决方案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();
    }
}

【讨论】:

    【解决方案2】:

    使用名为 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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2014-10-01
        • 2014-04-11
        • 1970-01-01
        • 2018-08-14
        • 1970-01-01
        • 1970-01-01
        • 2020-09-03
        • 2011-03-19
        • 1970-01-01
        相关资源
        最近更新 更多