Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在asp.net mvc中何时使用路由规则与查询字符串参数_Asp.net Mvc_Asp.net Mvc Routing_Query Parameters - Fatal编程技术网

Asp.net mvc 在asp.net mvc中何时使用路由规则与查询字符串参数

Asp.net mvc 在asp.net mvc中何时使用路由规则与查询字符串参数,asp.net-mvc,asp.net-mvc-routing,query-parameters,Asp.net Mvc,Asp.net Mvc Routing,Query Parameters,我们正在考虑推进一个ASP.NETMVC项目,并讨论了路由与参数的关系 考虑到如何在ASP.NET MVC中轻松设置两者之一或两者的组合,在使用其中一种或另一种时,我是否应该注意一些事项?在我的项目中,我们仅对可选值使用querystring。这主要是过滤、排序和分页列表。可选值在管线中很难处理 在URL中维护查询字符串要困难得多。使用ActionLink和其他路由感知帮助程序时不会呈现这些内容。我建议您尽可能保持URL的干净,并尽可能尝试使用路由。您应该尝试创建RESTful URI,将信息传

我们正在考虑推进一个ASP.NETMVC项目,并讨论了路由与参数的关系


考虑到如何在ASP.NET MVC中轻松设置两者之一或两者的组合,在使用其中一种或另一种时,我是否应该注意一些事项?

在我的项目中,我们仅对可选值使用querystring。这主要是过滤、排序和分页列表。可选值在管线中很难处理


在URL中维护查询字符串要困难得多。使用ActionLink和其他路由感知帮助程序时不会呈现这些内容。

我建议您尽可能保持URL的干净,并尽可能尝试使用路由。您应该尝试创建RESTful URI,将信息传递给用户。例如:

www.yourdomain.com/Products/Sports/Clothing
比以前干净多了

www.yourdomain.com/Products?Department=Sports&SubDepartment=Clothing 
如果您使用大量查询字符串,那么它将不是一个干净的URI,向用户传递的信息也会更少


尽管如此,我们的团队确实使用jquery为ajax类型的请求使用查询字符串。这是因为这些URI在我们的标记中,不会在浏览器窗口中看到。这有助于使我们的global.asax变得更小,因为它不会受到大量路线的污染

我可以理解“可选值在路由中很难处理”。你能更清楚地解释这句话吗?url的路径中会有可选值。假设您有可选值“OrderBy”和“FilterBy”。在路上会是什么样子?也许可以使用/mycontroller/myaction/orderbyprice/filterbyis这样的命令。如果OrderBy不存在,您的路径将变成/mycontroller/myaction/{一个映射到null}/FilterByAvailable的值。如果在路线末端有可选值,则可以。