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

将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 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.7K10

七天学会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

3.9K100
  • 七天学会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(七)——创建单页应用

    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 (四)——用户授权认证问题

    填充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 MVC编程——模型

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

    2.4K80

    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方式提交表单中...)与ViewModelsearchCriteria进行绑定,集合元素包含标签(displayText)和对应(value)。

    2.8K100

    小范笔记: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 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.最基本开始

    40250

    七天学会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 MVC5程序(八)

    今天给大家带来系列教程《一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar]》第八期了,不知道你有没有按照教程前七期都实际练习一篇呢...ModifiedOn { get; set; } public int Type { get; set; } } } 再在项目【TsBlog.ViewModel】中创建 User...文件夹,并创建以下几个视图实体类 LoginViewModel.cs using System.ComponentModel.DataAnnotations; namespace TsBlog.ViewModel.User...//如果注册成功,则跳转到登录页面 return RedirectToAction("login"); } } } 添加必要JS库 由于之前我们项目中多余...:54739/home/post 是可以直接访问,现在我们给这两个页面添加访问权限,即只有登录后才能访问,修改 HomeController.cs 如下: using System.Web.Mvc;

    1.3K60

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

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

    5.3K100
    领券