Request(“key”) 和 Request.Params(“key”) 之间有什么区别吗?
在 ASP.NET MVC3 应用程序中,我有一个如下所示的函数:(
Public Sub DoSomething(controllerCtx As ControllerContext)
....
' Which to use? and Why?
Dim val = controllerCtx.HttpContext.Request.Params.Item("someKey")
Dim val = controllerCtx.HttpContext.Request.Item("someKey")
....
End Sub
我知道 Item
是两者中的 Default
属性,可以删除,这与这个问题无关。)
查看 MSDN 页面中的 Request.Item
和 Params.Item
,我没有看到任何差异。两个页面都说它们从以下位置获取值:Cookie、Form、QueryString 或 ServerVariables 集合。 (尽管他们确实列出了不同的订单。)
我见过这篇 Stack Overflow 帖子,但似乎答案更多地集中在 QueryString
组件上,而不是 Request.Params.Item
vs 请求.Item
。
我为什么要使用其中一种而不是另一种?两者之间有什么区别吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
两者在内容上是严格等同的。下面是内容和搜索顺序:
至于使用哪一个,在 ASP.NET MVC 应用程序中最好使用:
因为这会考虑路由和自定义值提供者(例如 JsonValueProvider)也是如此。但当然,一切都取决于您的场景和具体要求。
The two are strictly equivalent in terms of contents. And here's the contents and the order in which it is searched:
As far as which one to use, well, in an ASP.NET MVC application it would be better to use:
as this take into account routes and custom value providers (such as for example the JsonValueProvider) as well. But of course everything would depend on your scenario and specific requirements.