当前位置: 首页 > 编程语言 > C#

MVC3RedirectToAction分享

时间:2023-04-10 17:30:49 C#

inpost方法和ViewBag抑制可以进行相应的操作,比如编辑或者删除它们。对于版本来说,这并没有错,这是一种特殊的观点。我的问题是当我想删除一个项目时,我在post方法中有两个选项。//直接调用列表[HttpPost][Authorize]publicActionResultDelete(intitemId){//删除一个item的逻辑ViewBag.Error="";//执行结果returnList();这个解决方案问题是url不再和第一个一样了:.../List,原来是.../现在删除了,我发现这个解决方案不太好,另一种解决方案是重定向到action,现在url没问题了,但是在viewBag中已经看不到错误信息了,各位有没有更好的idea?您可以使用TempData在一个请求中保存信息,它适用于这个确切的用例。而不是使用ViewBag使用TempData["Error"]="";反而。然后,在接收端,您将有一个如下所示的片段:[HttpGet]publicActionResultList(){ViewBag.Error=TempData["Error"];//...返回视图();请参阅ASP.NETTempData在请求之间持续存在以及何时在ASP.NetMVC3中使用ViewBag、ViewData或TempData。如果您正在进行重定向,请尝试使用TempData而不是ViewBag。TempData是一个字典,用于将用户会话中的键/值保存到下一个页面请求。在你的控制器中:TempData["Error"]="Amessagegoeshere";Inlistviewyouredirectto:@TempData["Error"]orifyouarenotusingrazor:useViewBagPOSTActionResult:以上是C#学习教程:MVC3RedirectToAction分享了post方法和ViewBag抑制中的所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——ActionResultSubmitUser(){ViewBag.Msg=TempData["Msg"];返回视图();}[HtttpPost]ActionResultSubmitUser(){TempData["Msg"]="提交成功"];返回视图();}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: