Tag: tempdata

何时在ASP.Net MVC中使用TempData vs Session

我试图得到MVC框架的悬念,所以忍受着我。 现在,我正在使用会话存储的唯一事情是存储当前login的用户。 我的网站很简单。 对于这个例子,考虑三个域对象,人,会议和文件。 用户可以login并查看会议的“仅成员”configuration文件,并可以向其中添加文件,或查看会议的公开“configuration文件”(如果未login)。 所以,从会议的私人档案中,login的用户,我有一个“添加文件”链接。 此链接路由到FileContoller.Add(int meetingId)。 从这个动作中,我得到了用户想要使用会议ID添加文件的会议,但是在表单发布之后,我仍然需要知道用户正在向哪个会议添加文件。 这就是我的问题所在,我应该通过TempData传递“正在交互”会议,还是将其添加到Session存储? 这是我目前如何添加操作设置,但它不工作: public ActionResult Add(int meetingId) { try { var meeting = _meetingsRepository.GetById(meetingId); ViewData.Model = meeting; TempData[TempDataKeys.CurrentMeeting] = meeting; /* add to tempdata here */ } catch (Exception) { TempData[TempDataKeys.ErrorMessage] = "Unable to add files to this meeting."; return RedirectToRoute("MeetingsIndex"); } return View(); } [AcceptVerbs(HttpVerbs.Post)] public […]

TempData keep()vs peek()

keep()和peek()有什么区别? MSDN说: keep(): marks the specified key in the dictionary for retention. peek(): returns an object that contains the element that is associated with the specified key, without marking the key for deletion. 我真的不明白有什么区别,难道他们都没有为另一个要求保留一个价值?

我如何禁用ASP.NET MVC中的会话状态?

我想有一个非常轻量级的ASP.NET MVC网站,其中包括尽可能多的删除通常的HttpModules和禁用会话状态。 但是,当我尝试做到这一点,我得到以下错误: The SessionStateTempDataProvider requires SessionState to be enabled. 我在web.config中禁用了会话状态: <sessionState mode="Off" /> 我知道ASP.NET MVC使用TempData的会话状态,但我不需要/需要TempData – 我只是想禁用会话状态。 帮帮我!

ASP.NET MVC – TempData – 好或坏的做法

我正在使用Scott Gu的Preview 5博客文章中详细介绍的AcceptVerbs方法来处理ASP.NET MVC中的表单条目: 用户通过GET获得一个空的表单 用户通过POST将填写的表单发布到相同的操作 Action会validation数据,采取适当的行动,并redirect到一个新的视图 所以我不必使用TempData 。 这就是说,我现在必须在这个过程中添加一个“确认”步骤,而且似乎需要使用TempData 。 出于某种原因,我厌恶使用TempData – 这是要devise的东西。 这是一个有效的关注,还是我补充?

在ASP.NET MVC中使用Tempdata – 最佳实践

我正在使用ASP.NET MVC 3来构build一个Web应用程序。 我想要做的是传递两个控制器之间的值,但有很多方法可以做到这一点,我特别感兴趣的是使用TempData 。 public ActionResult Action1() { string someMessage; Test obj = SomeOperation(); if(obj.Valid) { someMessage = obj.UserName; } else { someMessage = obj.ModeratorName; } TempData["message"] = someMessage; return RedirectToAction("Index"); } public ActionResult Index() { ViewBag.Message = TempData["message"] return View(); } 那么在这里使用TempData是否正确? 我的意思是最好的编程实践是使用TempData正确方法? 在什么情况下应该使用TempData ? 注:我已经通过以下链接 何时在ASP.Net MVC中使用TempData vs Session http://www.gregshackles.com/2010/07/asp-net-mvc-do-you-know-where-your-tempdata-is/ 谢谢