如果我想访问控制器操作中的Request对象,我需要编写HttpContext.Request
,而如果我想在MVC视图中访问同一个对象,则需要编写HttpContext.Current.Request
。 他们之间有什么区别吗? 我面临的问题是,我通过控制器动作中的HttpContext.Response.Cookies.Add
设置的cookie在MVC视图中的HttpContext.Current.Request.Cookies
集合中没有找到,尽管我可以通过javascript查看这些cookie。HttpContext.Current.Request和HttpContext.Request是否有区别?
1
A
回答
2
你必须在视图上写控制器HttpContext.Request
和HttpContext.Current.Request
的原因是因为你写一个控制器继承抽象类Controller
,有一个叫HttpContext
属性,是HttpContextBase
类型。该视图然后使用密封类HttpContext
,它为您提供当前请求的httpcontext对象。
它们之间有什么区别吗?
不可以。因为两者都会为当前请求提供相同的HttpRequest
对象。
0
除非我记错了,你写一个cookie出来回应,但直到下一个请求是由该Cookie是不可用的请求(即,你必须重新加载相同或一个新的页面来获得它读取cookie)。 Cookie不是在控制器和视图之间共享信息的好方法,您应该使用ViewData或ViewBag。
而且,你必须确保你,你已经输出任何东西,这是一个原因,Response.Write
不建议后,不会写的cookie。
原因的JavaScript的工作原理是,它在客户端,而不是在服务器上读取cookie。
相关问题
- 1. //和m //是否有区别?
- 2. HttpContext.Current.Items []和HttpContext.Current.Request []之间的区别是什么?
- 3. “margin:0 auto”是否有区别?和“margin:auto;”
- 4. $(e.currentTarget)和$(this)之间是否有区别?
- 5. replica和replica之间是否有区别
- 6. RSpec中'expect'和'should'是否有区别?
- 7. variant()和variant之间是否有区别?
- 8. SqlConnection.CreateCommand和新的SqlCommand是否有区别?
- 9. MASM shellcode和NASM shellcode是否有区别
- 10. ** copy **和** addAll **之间是否有区别?
- 11. _function和function之间是否有区别?
- 12. if $ str =“”和if($ str)是否有区别?
- 13. `ListView.invalidateViews()`和'Adapter.notifyDataSetChanged()'之间是否有区别?
- 14. DB_DOUBLE和dbDouble是否有区别?
- 15. `* x`和`x *`是否有区别?
- 16. '/'和''路线是否有区别?
- 17. .JPG和.jpg是否有区别?
- 18. Interop.AZROLESLib和Microsoft.Interop.Security.AzRoles是否有区别?
- 19. WebRTC和Websockets。是否有区别
- 20. TINYINT(1)和INT(1)是否有区别?
- 21. 在Perl中,/^/和/ ^/m是否有区别?
- 22. Ruby中的“!=”和“!〜”是否有区别?
- 23. QString&和QString之间是否有区别?
- 24. Web API和MVC HttpConfiguration是否有区别?
- 25. CGImageGetWidth(workingImage.CGImage)和workingImage.size.width是否有区别?
- 26. UTF8Encoding.UTF8.GetBytes和Encoding.UTF8.GetBytes是否有区别?
- 27. ui:fragment和s:fragment之间是否有区别?
- 28. Url.Host在HttpContext.Current.Request和Page.Request
- 29. 是否有区别HttpPost AcceptPost和PostOnly属性从mvc2和mvccontrib
- 30. org.osgi。*的包导入是否有区别?
好的,我面临的问题是,我在Controller操作中设置了一个cookie,并且想在MVC视图中读取它,但它没有显示任何值。但是,如果我尝试从相同视图的JavaScript中读取它,它显示了值。什么可能是解决方案? – Nirman
所以,如果你这样做:'Response.Cookies.Add(新的HttpCookie( “cookie_monster”, “六眼”));'在你的控制器,并做了'
@ HttpContext.Current.Request.Cookies [ “cookie_monster”] 。价值
'没有什么是显示?你甚至用这种方式?没有意义。 –