首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将ViewModel值从GET ActionResult保留到Post ActionResult的最佳方法是什么?

将ViewModel值从GET ActionResult保留到Post ActionResult的最佳方法是使用表单或会话状态。

  1. 使用表单:在GET ActionResult中,将ViewModel的值绑定到表单的隐藏字段中,然后在POST ActionResult中通过模型绑定将表单的值传递给ViewModel。这样可以确保在页面跳转或刷新时,ViewModel的值仍然保留。
  2. 使用会话状态:在GET ActionResult中,将ViewModel的值存储在会话状态中,然后在POST ActionResult中从会话状态中获取值并更新ViewModel。会话状态可以在整个会话期间保持数据的一致性,即使页面跳转或刷新也不会丢失数据。

需要注意的是,使用会话状态可能会增加服务器的负载和内存消耗,因此在使用时需要权衡利弊。另外,为了确保数据的安全性,可以对存储在会话状态中的敏感数据进行加密。

推荐的腾讯云相关产品:腾讯云服务器(CVM)和腾讯云数据库(TencentDB)。

  • 腾讯云服务器(CVM):提供可扩展的云服务器实例,可满足不同规模和需求的应用程序部署。详情请参考:腾讯云服务器产品介绍
  • 腾讯云数据库(TencentDB):提供高性能、可扩展的数据库解决方案,包括关系型数据库(MySQL、SQL Server等)和非关系型数据库(MongoDB、Redis等)。详情请参考:腾讯云数据库产品介绍
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递

但是在实际使用的过程中,它们并不是最佳选择,接下来我们来看看使用它们的缺点: 性能问题;ViewData中的值都是对象类型,使用之前必须强制转换为合适的类型。会添加额外的性能负担。...从Controller传递一个ViewData或ViewBag的值,当开发人员正在View中写入,就必须记录从Controller中即将获得什么值。...设置强类型视图是最佳解决方案。 是否能将View设置为多个Model使用的强类型? 不可以,实际项目中在一个View中想要显示多个Model时以点结束的。该问题的解决方法将在下一节讨论。...使用不同的颜色表示工资值,使用简单的逻辑改变了HTML元素的外观。——逻辑层 ViewModel 解决方法 ViewModel是ASP.NET MVC应用中隐式声明的层。...新建并传递ViewModel 在GetView方法中,获取Model数据并且将强制转换为ViewModel对象。

2.3K90
  • 七天学会ASP.NET MVC(七)——创建单页应用

    将MVC项目的ViewModels文件夹下所有的文件复制到新建的ViewModel 类库项中。 7. 删除ViewModels文件夹 8....创建EmployeeList Index 在MainController 中创建新的Action 方法”EmployeeList“action 方法 1: public ActionResult...: 最终用户点击保存按钮 输入值必须在客户端完成验证 会将合法值传到服务器端 新Employee记录必须保存到数据库中 CreateEmployee对话框使用完成之后必须关闭 插入新值后,需要更新表格。...运行 关于实验35 JSON 方法的作用是什么? 返回JSONResult,JSONResult 是ActionResult 的子类。在第六篇博客中讲过MVC的请求周期。...ExecuteResult是ActionResult中声明的抽象方法,ActionResult所有的子类都定义了该方法。

    4.3K60

    ASP.NET MVC 重点教程一周年版 第十回 请求Controller

    其实我们通常遇到的请求方式无非get/post,但是有很多Web开发人员仍然对二者分不清。    ...get即通过URL中的QueryString向服务器端传值的方式,它的数据是可见的,可post则是通过一个postdata包向服务器传值,post方式可以传送更多数据(如上传文件),也更安全(如登录)。...本文将演示各种通过客户端页面(即最终生成的页面)向Controller提交请求以及在Controller中接受的方式。...提交的数据来看传递     之所以这里先说Post是因为相对于Get方式来说Post的情况更全,说明了Post的情况Get也就差不多了。...Html.TextBox("password") %> 6: 7: 8: <% 9: }%> 1.从最基本的开始

    41250

    MVVM(Knockout.js)的新尝试:多个Page,一个ViewModel

    所谓数据的绑定,就是将ViewModel定义的数据绑定到View中的UI元素(HTML元素)上,双向/单向绑定同时被支持,而我们通常使用的是双向绑定。...它们不但具有相同的UI结构,对应的操作行为也大同小异,这意味着ViewModel的数据成员和方法成员(实际上KO中用于双向绑定的数据也是方法)也基本上类似,那么出用重用的目的,我们可以考虑为这些相似的页面定义相应的...self.dataDeleteAccessor = options.dataDeleteAccessor; 34: 35: //removeData:删除操作完成后将数据从...两个方法呈现的都是一个名为ContactPartial的分部View,从如下定义可以看出这是一个Model类型为Contact的强类型View,Contact对象以编辑模式呈现在一个以Ajax方式提交的表单中...)与ViewModel的searchCriteria进行绑定,集合元素包含标签(displayText)和对应的值(value)。

    2.8K100

    ASP.NET MVC编程——模型

    1 ViewModel 是一种专门提供给View使用的模型,使用ViewModel的理由是实体或领域模型所包含的属性比View使用的多或少,这种情况下实体或领域模型不适合View使用。...= "Filed1")] public ActionResult About(MyModel mm) { //具体代码 } 3 模型修饰 在模型属性上使用一些特性,达到修饰模型属性或验证属性的目的...,ValidationAttribute有两个虚方法,可以通过重载这两个虚方法来完成自定义验证逻辑。...当模型绑定器使用新值对模型属性更新后,会利用当前模型元数据获得模型验证器,模型验证器会找到所有施加于模型属性的特性并执行验证逻辑,然后模型绑定器会捕获所有失败的验证规则,并将它们放入模型状态中。...模型状态 模型状态包含了模型绑定期间绑定的值,和模型绑定期间发生的任何错误。 参考: 1.Jess Chadwick/Todd Snyder/Hrusikesh Panda,徐雷/徐扬 译。

    2.4K80

    七天学会ASP.NET MVC (六)——线程问题、异常处理、自定义URL

    本节又带了一些常用的,却很难理解的问题,本节从文件上传功能的实现引出了线程使用,介绍了线程饥饿的解决方法,异常处理方法,了解RouteTable自定义路径 。...HttpPostedFileBase将通过客户端提供文件上传的访问入口,Model Binder 会在Post请求期间更新 FileUploadViewModel类中的所有属性值。...该属性指定了post 数据的编码类型,默认属性值是”application/x-www-form-urlencoded“ 例1—登录窗体会给服务器发送以下Post 请求 1: POST /Authentication...因此得出的最佳实践经验需要设置为默认的”application/x-www-form-urlencoded“。 为什么在实验27中创建ViewModel?...1: public ActionResult Upload(HttpPostedFileBase fileUpload) 2: { 3: } 创建 ViewModel是最好的方法,Controller

    4K100

    七天学会ASP.NET MVC (三)——ASP.Net MVC 数据处理

    第三天我们将学习Asp.Net中数据处理功能,了解数据访问层,EF,以及EF中常用的代码实现方式,创建数据访问层和数据入口,处理Post数据,以及数据验证等功能。...有四种请求类型:get,post,put以及delete. Get: 当需要获取数据时使用。 Post: 当需要新建一些事物时使用。 Put: 当需要更新数据时使用。...当请求类型是Get,Put或Delete时,值会通过查询语句发送,当请求是Post类型,值会通过Post数据传送。 使用输入控件名的作用是什么? 所有输入控件的值将随着请求一起发送。...Salary{get;set;} UpdateModel 和 TryUpdateModel 方法之间的区别是什么?...TryUpdateModel是将函数参数与Employee对象保持相同,如果更新失败,ModelState.IsValid会设置为False值。 客户端验证是什么?

    5.3K100

    七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理

    设置Footer 数据 打开 EmployeeController ,在Index  action 方法中设置FooterData 属性值,如下: 1: public ActionResult...运行,打开Index View 关于实验22 Html.Partial的作用是什么?与Html.RenderPartial区别是什么?...带有欢迎消息的页眉 2. 带有数据的页脚 最大的问题是什么? 带有数据的页脚和页眉作为ViewModel的一部分传从Controller传给View。...现在最大的问题是在页眉和页脚移动到布局页面后,如何将数据从View传给Layout页面。 解决方案——继承 可使用继承原则,通过实验来深入理解。 1....升级ViewModel 重写 HeaderFooterFilter类的 OnActionExecuted方法,在该方法中获取当前View Model ,并绑定Header和Footer数据。

    4.9K80

    七天学会ASP.NET MVC (四)——用户授权认证问题

    填充View的值 3.1 将View设置为强类型的View 在 CreateEmployee View文件开始添加以下代码: 1: @using WebApplication1.ViewModel...如图所示,姓名仍然保留在文本框中,却未保留工资,接下来我们来讨论上述问题的解决办法。 关于实验15 是否是真的将值保留? 不是,是从post数据中重新获取的。...当凭证错误时,UserName 文本框的值是如何被重置的? HTML 帮助类会从Post 数据中获取相关值并重置文本框的值。这是使用HTML 帮助类的一大优势。 Authorize属性有什么用?...给 ViewModel  UserName 设置值 修改 EmployeeController,修改 Index 方法。...创建Logout Action 方法 打开 AuthenticationController 添加新的Logout action方法: 1: public ActionResult Logout

    8.7K50

    小范笔记:ASP.NET Core API 基础知识与Axios前端提交数据

    那么,上面的表格正是用来从 HTTP 请求中获取数据的 “方法” 或者说 “手段”。HttpCentext 等对象不在本文讨论范围。...[HttpGet] 标识支持 HTTP GET 方法的操作。 [HttpPost] 标识支持 HTTP POST 方法的操作。 ... ... ... ... ... ......[Consumes] 指定某个操作接受的数据类型。 [Produces] 指定某个操作返回的数据类型。 [HttpGet] 标识支持 HTTP GET 方法的操作。 ... ......由于排除的属性设置为 NULL 或默认值,而不是保持不变,因此它在编辑方案中无法很好地工作; 因为 Bind 特性将清除未在 某个 参数中列出的字段中的任何以前存在的数据。 一脸懵逼。...再认真看了文档 :因为 Bind 特性将清除未在 某个 参数中列出的字段中的任何以前存在的数据。

    5.6K00

    ASP.NET MVC5中View-Controller间数据的传递

    对于Controller向View中传值则列举了以下几种方式: 单个值的传递 Json 匿名类型 ExpandoObject ViewBag、ViewData、TempData ViewModel Cookie...{ set; get; } } 修改Action的代码如下: public void GetValue(User user) { } 然后运行程序,可以看到MVC以将表单中的数据映射为User类实例的属性值...对于这样的一个Action,如果是Post请求,MVC会尝试将Form(注意,这里的Form不是指html中的表单,而是Post方法发送数据的方式,若我们使用开发者工具查看Post方式发送的请求信息...,会看到Form Data一栏)中的值赋值到Action参数中,如果是get请求,MVC会尝试将QueryString的值赋值到Action参数中。...ViewModel 通过视图模型将数据传递到前端 //视图模型 public class User { public string UserName { set; get; } public

    2.8K10
    领券