【发布时间】:2012-12-06 01:57:41
【问题描述】:
假设我有这个 sql server 表:
id Name Band
--------------------
1 John Beatles
2 Paul Beatles
3 George Beatles
4 Ringo Beatles
5 Jim Doors
我想要一个人的详细信息页面,例如:
http://localhost/Music/Beatles/Paul
而我要处理的是:
http://localhost/Details.aspx?id=2
所以-我正在编写这段代码来注册一个简单的路线:
void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.MapPageRoute("MyRoute", "Music/{Band}/{Name}", "~/Details.aspx");
}
但我不明白:
当 Asp.net 得到 http://localhost/Music/Beatles/Paul 时,如何知道它知道 Paul 的值是 2 ?
你是在告诉我每次asp.net遇到Paul他应该去数据库并扫描一个预定义的唯一列(在这种情况下为Name)并获取它的列ID值?
或者我应该像 SO 那样将保罗的价值注入到 url 中:
http://stackoverflow.com/questions/13938994/jquery-conditional-validation-based-on-select-text
^
|
---------------------------------------
在我的情况下:
http://localhost/Music/Beatles/2/Paul
【问题讨论】:
-
你应该看看 AttributeRouting。 github.com/mccalltd/AttributeRouting
标签: c# asp.net url-rewriting routing