Rob*_*vey -1 asp.net-mvc routing
为什么是这样:
http://MySite.com/Project/24/Search/32/Edit/49
Run Code Online (Sandbox Code Playgroud)
比这更受欢迎?
http://MySite.com/Project/24?Search=32&Edit=49
Run Code Online (Sandbox Code Playgroud)
我不确定你的前提来自哪里?它看起来像一个人为的例子,很难评论.
更好的比较是这样的:
http://MySite.com/Project/24/Members/Edit
Run Code Online (Sandbox Code Playgroud)
相反:
http://MySite.com/Projects.aspx?id=24§ion=Members&action=Edit
Run Code Online (Sandbox Code Playgroud)
除其他事项外,实体的层次结构从第一个示例中立即显而易见(即,项目包含成员).它还建议您可以使用包含与第一个(即/Projects/24和/Projects/24/Members)类似结构的其他URL ,因此从这个意义上说它更简洁.
如果归结为具有可变数量参数的操作(例如搜索),则使用URL参数是完全正确的,因为这将为您提供更大的灵活性,例如:
http://MySite.com/Projects/Search?name=KillerApp&type=NET
Run Code Online (Sandbox Code Playgroud)
您可以使用第一种样式构建URL,但实际上并没有获得任何东西,管理路由可能会增加不必要的开销:
http://MySite.com/Projects/Search/name/KillerApp/type/NET
Run Code Online (Sandbox Code Playgroud)
我认为这个(或任何类似的结构,例如,如果你删除了参数名称)都受到人为的层次结构的影响 - 在这种情况下的行为实际上是搜索,而其他一切只是搜索的参数,所以它在同一个层次结构,而不是某些"子"层次结构.
| 归档时间: |
|
| 查看次数: |
125 次 |
| 最近记录: |