Взгляните на ASP.NET Routing
.
Просто зарегистрируйте маршрут в вашем Global.asax
:
protected void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("readblog",
"readblog/{id}/{title}",
"~/readBlog.aspx");
}
и затем к нему можно получить доступ, например, например ::1100*
var path = RouteTable.Routes.GetVirtualPath(
null,
"readblog",
new RouteValueDictionary {{ "id", blogId }, { "title", URLFriendly(title) }}
).VirtualPath;
, где URLFriendly
создает URL-версию заголовка (очень хороший пример этого можно было бы взять из ответа Джеффа Этвуда). Это может привести к URL-адресам, таким как:
/readBlog/2/how-to-install-visual-studio
или
/readBlog/3/something-else
.