我已经有了一个ASP.NET网站
我想改变我的网站,以更多的搜索引擎优化网址友好。
我想换个名字。网址: www.mydomain.aspx?articleID=5
收件人: www.mydomain/article/learningURLrewrite -需要从数据库中读取articlename
我该如何做到这一点?
我已经尝试了谷歌的一些文章,其中提到IhttpModule,但没有任何运气。
我的目标是让一个类负责基于folderpath进行重定向(如下所示):
string folderpath = "my folderpath" (could be articles, products etc.)
string id = Request.QueryString["id"].ToString();
if(folderpath.equals("articles"))
{
string name = //find name from id in DB
//redirect user to www.mydomain/article/name
}
if(folderpath.equals("products"))
{
string name = //find name from id in DB
//redirect user to www.mydomain/products/name
}另外,我想删除aspx扩展。
发布于 2011-09-29 23:38:20
您也可以在ASP.NET WebForms中使用路由。
具体步骤如下:
//在Global.asax void Application_Start(object sender,EventArgs e) { RouteTable.Routes.MapPageRoute("My Routename","{*name}","~/ Article.aspx ");}
public void Page_Load(object sender,EventArgs e) { var thePath = RouteData.Values"name";//在数据库中查找路径...}
发布于 2011-09-29 23:36:42
这篇文章确切地告诉了你如何使用asp.net 4的路由引擎--试一试--如果你在实现它的过程中遇到了特定的问题,请让我们知道。
http://weblogs.asp.net/dotnetstories/archive/2011/01/03/routing-in-asp-net-4-0-web-forms.aspx
由于您需要特定的参数用法,因此可以定义要发送到您的页面的参数。有关信息,请参阅:http://msdn.microsoft.com/en-us/library/cc668177.aspx
和
How to: Access URL Parameters in a Routed Page
发布于 2011-09-29 23:38:10
如果您使用的是URL4,那么您应该研究ASP.NET路由。您最终将像这样设置自定义路由:
routes.MapPageRoute(
"View Article", // Route name
"Articles/{*ArticleName}", // Route URL
"~/Articles.aspx" // Web page to handle route
);你可以这样写出新的链接:
Page.GetRouteUrl("View Article", new { ArticleName= NAMEFROMDATABASE });不幸的是,我不会给你一个如何构建整个网站的总结,但有两个非常好的起点,一个是article by Scott Gu,另一个是4 Guys。
https://stackoverflow.com/questions/7599689
复制相似问题