首页 / 知识
关于C#:如何在ASP.NET MVC中进行RedirectToAction而不丢失请求数据
2023-04-11 15:47:00

How to RedirectToAction in ASP.NET MVC without losing request data
使用ASP.NET MVC时,可能需要 一种这样的情况是,您在提交表单后遇到验证错误,并且需要重定向回表单,但希望该URL反映表单的URL,而不是表单提交的操作页面。
为了方便用户以及进行验证,我要求表单包含原始的 解决方案是使用TempData属性存储所需的Request组件。 例如:
然后,您可以在"表单"操作中执行以下操作:
请记住,TempData在会话中存储表单集合。如果您不喜欢这种行为,则可以实现新的ITempDataProvider接口,并使用其他某种机制来存储临时数据。除非您知道一个事实(通过测量和分析),否则使用Session状态会伤害您,否则我不会这样做。 看一下MVCContrib,您可以执行以下操作:
还有另一种避免使用tempdata的方法。我喜欢的模式涉及为无效表单的原始渲染和重新渲染创建1个动作。它是这样的:
这或多或少是这种模式。有点假。使用此方法,您可以创建1个视图来处理呈现表单,重新显示值(因为表单将填充先前的值)并显示错误消息。 当发布到该动作时,如果有效,它将控制权转移到另一个动作。 当我们建立对MVC的支持时,我正在尝试在.net验证框架中简化此模式。 如果要将数据传递给重定向的操作,可以使用的方法是:
|
最新内容
相关内容
关于sql Server:将文件存储在数据库
关于sql Server:将文件存储在数据库中而不是文件系统中?,关于sql Server:将文件存储在数据库中而不是文件系统中?,性能,文件系统,文件存关于c#:为什么Array.Length是int而不
关于c#:为什么Array.Length是int而不是uint,关于c#:为什么Array.Length是int而不是uint,点这里,最佳答案,这使我,而不是,Why is Array.Le关于svn:在没有URL / Subversion后
关于svn:在没有URL / Subversion后端的情况下将Fogbugz与TortoiseSVN集成,关于svn:在没有URL / Subversion后端的情况下将Fogbugz与T关于c#:如何在启用了”视觉样
关于c#:如何在启用了视觉样式的情况下将控件呈现为类似于ComboBox的外观?,关于c#:如何在启用了视觉样式的情况下将控件呈现为类似于Co怎么使HTML标签在HTML页面正常显示
怎么使HTML标签在HTML页面正常显示而不被解析,如何,使,HTML,标签,在,页面,正常,显示,而,不被,, 要想html标签在html页面正常显示理想情况下应该使用的flags的例子
理想情况下应该使用的flags的例子,理想,情况下,应该,使,用的,flags,的,例子,, Possible flags:(可用的 flags:) once: 确保关于c ++:在这种情况下,我应该使用嵌
关于c ++:在这种情况下,我应该使用嵌套类吗?,关于c ++:在这种情况下,我应该使用嵌套类吗?,作用,接口,用于,视频播放,Should I use nested c