1
1
我更喜欢RESTFul url而不是查询字符串,因为它们是清晰的,用户可以很容易地阅读和搜索引擎优化友好的。 在您的例子中,如果您真的希望url为…/2010/01/01/123456789/文章的名称,那么第二种方法更好。 但是我认为如果您使用url中的文章id,就不需要使用data/month。 像wordpress这样的应用程序使用/year/month/title格式,因为如果只给出文章的标题,查询数据库需要更多的时间。但是使用年和月可以加快数据库查询,因为可以缩小结果范围,然后对该结果集进行标题搜索。 我认为你应该用这样的方式……/123456789/文章的名称 看这个问题的网址 Routing and Controller Actions - Optional Data 这里的问题标题只用于搜索引擎优化的目的。 如果您希望设计是纯restful的,那么url应该是…/articles/文章的名称 我创建这样的url,因为有很多方法可以优化db查询(比如散列),我喜欢纯REST。 |
2
0
在第一个例子中,如果要使用RouteData.Values来获取一些值,那么传入任何内容有什么意义? 另外,var文章是不是。。。一个占位符直到你连接数据库查找? 从客户端来说,这无关紧要,因为URL不会有任何不同。 在服务器端,第二个示例在代码中看起来更清晰,因为您没有RouteData.Values的查找。 |
3
0
查询字符串比REST url好得多。路由是从早期的HTTP开始的,但是对于许多web站点,由于参数依赖于路由构造,所以被传递给查询字符串。此外,路由不适合在需要时加密参数。 |
4
0
传入所有内容更好,因为您的参数是强类型的,而RouteData.Values集合不是。您还可以强制转换RouteData.Values项,但这是您不必执行的额外代码。这是ASP.NET MVC为您编写代码的另一个例子,因此如果您想做一些不同的事情,您就没有多少控制权。Web表单对于框架实际所做的工作更加透明,而MVC则是无稽之谈。 |