asp.net-mvc – 追加?param =到mvc路由
一些MVC站点在路由Url上附加了查询字符串参数(我注意到StackOverflow的作用),例如:
?https://stackoverflow.com/questions/tagged/java页= 9802&放大器;排序=最新及放大器;页面大小= 15 将参数设置为更常规的?querystring params,而不是/ param / values /?有什么好处? 此外,这些参数如何附加到已设置的路线上?我熟悉使用诸如“users / details / {id}”之类的参数设置mvc路由但是不知道如何配置使用1个或更多的路由?params如上面的示例url? 解决方法
当您有多个可选参数并且不希望包含非指定参数的默认值只是为了满足路径时,查询字符串参数很有用.
并且您无需执行任何特殊操作即可将这些参数包含在呈现的URL中. 以下面的路线为例: routes.MapRoute ( "QuestionsTagged","questions/tagged/{tag}",new { controller = "Questions",action = "Tagged" } ); 如果使用以下方法呈现指向该路线的链接: Url.RouteUrl ( "QuestionsTagged",new { tag = "java",page = 9802,sort = "newest",pagesize = 15 } ) …然后路由引擎足够聪明,可以看到路由包含一个名为tag的参数,并且传递的路由值对象也有一个名为tag的东西,因此它在路由中使用该值. 在路径中没有相应参数的任何提供的路由值(在这种情况下为page,sort和pagesize)作为查询字符串参数被添加.因此上面的Url.RouteUrl调用将返回/ questions / tagged / java?page = 9802& sort = newest& pagesize = 15. 并且您的操作方法可以在其签名中明确列出这些参数(提高可读性和可维护性),或者您可以通过Request.QueryString访问它们. public class QuestionsController : Controller { // I can explicitly list the parameters in my signature and let routing do // its magic,like this... public ViewResult Tagged(string tag,int? page,int? pagesize) { // ...or I can grab parameters like this: string sort = Request.QueryString["sort"]; return View(); } } 请注意,action方法的参数不必与路径中指定的参数匹配. (在路由中,我只指定了标记,但是操作方法的签名列表标记,页面和页面大小.)但是,动作方法的任何参数(也不是路径的参数)必须是引用或可空类型. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – ASP.NET MVC路由问题
- ASP.NET – IHttpModule.BeginRequest触发2X,Application_B
- asp.net-mvc – ASP.Net MVC Razor Views – 在构建时缩小H
- ASP.NET或SQL Server 2008中的并发更新处理
- asp.net渲染折线图
- asp.net – HttpPostedFileBase.SaveAs方法问题
- asp.net-mvc-3 – SimpleMembership MVC3无法加载文件或程序
- asp.net-mvc-3 – RedirectToAction在另一个控制器无法正常
- 使用MVC在ASP.NET中实现API的最佳方法是什么?
- asp.net-mvc – 使用浏览器栏将列表传递给MVC Web API方法
- asp.net GridView寻呼机消失了!
- asp.net-mvc – 如何根据用户在ASP.NET MVC中的选
- asp.net-mvc – 并不总是创建__RequestVerificat
- asp.net – 在GET期间是否有规范/ RESTful方式向
- asp.net-web-api – 如何让ASP.Net Web API和ODa
- asp.net-mvc – 如何将整个ViewModel传递回控制器
- asp.net-mvc-4 – 如何解决Antlr3依赖地狱
- ASP.NET:WebResource.axd调用404错误:如何知道
- asp.net – 如何从windows azure云服务中的excel
- asp.net-mvc-4 – .NET MVC4 ActionNameSelector