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

TryUpdateModel,ASP .NET MVC 3的真实示例

在ASP .NET MVC 3中,TryUpdateModel是一个用于将HTTP请求中的表单数据更新到模型对象的方法。这个方法可以避免一些常见的安全问题,比如过度提交(over-posting),当用户提交表单时,可以确保只有在模型中显式允许的属性才会被更新。

以下是一个简单的示例,展示了如何在ASP .NET MVC 3中使用TryUpdateModel方法:

代码语言:csharp
复制
[HttpPost]
public ActionResult Edit(int id, FormCollection collection)
{
    var model = db.Models.Find(id);
    if (TryUpdateModel(model, new string[] { "Property1", "Property2" }))
    {
        try
        {
            db.SaveChanges();
            return RedirectToAction("Index");
        }
        catch (Exception ex)
        {
            ModelState.AddModelError("", "Unable to save changes. " +
                "Try again, and if the problem persists, " +
                "see your system administrator.");
        }
    }
    return View(model);
}

在这个示例中,TryUpdateModel方法接受两个参数:一个是模型对象,另一个是一个字符串数组,表示允许更新的属性列表。这个方法会从collection中提取表单数据,并将其更新到model对象的相应属性中。

使用TryUpdateModel方法的优势在于,它可以确保只有在模型中显式允许的属性才会被更新,从而防止过度提交的安全问题。此外,它还可以在更新模型对象之前对数据进行验证,以确保数据的有效性。

应用场景:TryUpdateModel方法通常用于处理HTTP POST请求,比如表单提交、数据更新等场景。

推荐的腾讯云相关产品:腾讯云提供了一系列云计算服务,可以帮助用户快速构建、部署和管理应用程序。以下是一些可能与TryUpdateModel方法相关的腾讯云产品:

  1. 腾讯云服务器(CVM):提供可扩展的虚拟服务器,可以用于部署ASP .NET MVC 3应用程序。
  2. 腾讯云数据库(TencentDB):提供可靠的数据库服务,可以用于存储ASP .NET MVC 3应用程序的数据。
  3. 腾讯云API网关:可以帮助用户管理API请求,并提供安全、稳定的访问通道。
  4. 腾讯云对象存储(COS):提供可靠的云存储服务,可以用于存储ASP .NET MVC 3应用程序的静态资源。

产品介绍链接地址:

  1. 腾讯云服务器(CVM):https://cloud.tencent.com/product/cvm
  2. 腾讯云数据库(TencentDB):https://cloud.tencent.com/product/cdb
  3. 腾讯云API网关:https://cloud.tencent.com/product/apigateway
  4. 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET MVC 3中ViewBa

ViewData也是WebViewPage类中一个属性,但他类型是ViewDataDictionary。...从内部实现上,ViewBag属性是按照键值对那样存放在ViewData中,因此也可以通过方为ViewData中值来访问ViewBag值,他们指向引用是同一个。...但是区别在于,ViewData写法是按照序列访问那样,通过索引访问,而ViewBag是通过属性访问。事实上,在编译阶段,编译器无法知道ViewBag所给属性是否存在,这都是在运行时决定。...后续例子有证明了他们是指向同一个引用。 在使用ViewBag时候,有一个好处就是不需要做类型转换。因为是dynamic类型,只要保证在运行时类型正确既可以了。...举个例子: @{ ViewBag.XXX = new List{1,2,3}; ViewData["YYY"] = new List { 3, 4, 5 }; foreach

91110
  • ASP.NET MVC多表示例题-酒店管理

    3. 实现技术:ASP.NET MVC+EF(100 分)或 ASP.NET+三层+EF(90 分)。 4. 功能要求:不得使用第三方工具生成实体类、持久层代码,否则不得分。 2.实现功能 1....(3).房间类型:从房间类型表中查询出每间房所对应房间类型,显示在网页中。 2.点击“入住”,可以将对应酒店房间状态修改为“已入住”,并重新显示;点击“退房”按钮将对应酒店。...图2 3.点击首页中删除链接,弹出删除确认消息框,提示是否删除,确认后删除对应房间,删除成功后重新显示首页,如图 3 所示。 图3 1. 创建酒店房间项目数据库(HotelDB)。 2....(1)正确创建项目(MVC 或者 ASP.NET)。 (2)创建实体数据模型。 (3)创建控制器、视图(或者三层)。 3. 创建首页并显示所有酒店房间信息。...union select '3503',1,188,2022,0 go ER图 创建MVC项目 引入EF 我这里离交HotelDB,会自动生成HotelDBEntities 引入刚创建两个表

    1.2K10

    ASP.NET Core 入门教程 3ASP.NET Core MVC路由入门

    一、前言 1、本文主要内容 ASP.NET Core MVC路由工作原理概述 ASP.NET Core MVC带路径参数路由示例 ASP.NET Core MVC固定前/后缀路由示例 ASP.NET...Core MVC正则表达式匹配路由示例 ASP.NET Core MVC路由约束与自定义路由约束 ASP.NET Core MVC RouteAttribute绑定式路由使用介绍 2、本教程环境信息...:https://github.com/ken-io/asp.net-core-tutorial/tree/master/chapter-02 3、前置知识 你可能需要前置知识 MVC框架/模式介绍...MVC 路由简介 1、ASP.NET Core MVC路由工作原理概述 ASP.NET Core MVC路由作用就是将应用接收到请求转发到对应控制器去处理。...通常我们有两个选择: 在template中指定{controller},{action}参数 在默认值中为controller、action指定默认值 三、ASP.NET Core MVC 路由示例

    1.5K30

    【翻译】在没有安装ASP.NET MVC3服务器上运行ASP.NET MVC3程序-scottgu

    一些背景: 我们支持两种方式使您可以使用一台机器上ASP.NET MVC3组件: 1,在一台机器上,将ASP.NET MVC 3组件安装在一个集中地方,WEB项目在那里引用这些组件 2,把ASP.NET...如果你复制一个普通ASP.NET MVC 3项目(使用默认方法引用ASP.NET MVC3程序集) 到一台没有安装ASP.NET MVC3机器上, 当你运行应用程序时, 会看到一个类似的错误信息...方法2:基于\ Bin目录中引用ASP.NET MVC组件 您项目可以使用另一种方法 在您Web应用程序\bin目录中分发和引用ASP.NET MVC3程序集。...这种方法好处是,你并不需要在一台机器上安装ASP.NET MVC3,以运行基于ASP.NET MVC3 Web应用程序。...摘要 ASP.NET MVC 3应用程序可以部署到任何拥有.NET4Web服务器, 而不必等待托管服务提供商来安装ASP.NET MVC 3组件。

    4.2K10

    ASP.NET Core 入门教程 3ASP.NET Core MVC路由入门

    一、前言 1、本文主要内容 ASP.NET Core MVC路由工作原理概述 ASP.NET Core MVC带路径参数路由示例 ASP.NET Core MVC固定前/后缀路由示例 ASP.NET...Core MVC正则表达式匹配路由示例 ASP.NET Core MVC路由约束与自定义路由约束 ASP.NET Core MVC RouteAttribute绑定式路由使用介绍 2、本教程环境信息...:https://github.com/ken-io/asp.net-core-tutorial/tree/master/chapter-02 3、前置知识 你可能需要前置知识 MVC框架/模式介绍...MVC 路由简介 1、ASP.NET Core MVC路由工作原理概述 ASP.NET Core MVC路由作用就是将应用接收到请求转发到对应控制器去处理。...通常我们有两个选择: 在template中指定{controller},{action}参数 在默认值中为controller、action指定默认值 三、ASP.NET Core MVC 路由示例 1

    1.1K30

    ASP.NET MVCModel元数据与Model模板:将”ListControl”引入ASP.NET MVC

    在某些情况下通过这两者结合往往可以解决很多特殊数据呈现问题,我们接下来演示实例就是典型例子。[本文已经同步到《How ASP.NET MVC Works?》...对于ASP.NET MVC来说,我们可以通过HtmlHelper/HtmlHelper扩展方法DropDownList/DropDownListFor和ListBox/ListBox在界面上呈现一个下拉框和列表框...在通过Visual StudioASP.NET MVC项目模板创建空Web应用中,我们定义一个作为Model表示员工Employee类型。...MVCModel元数据与Model模板:预定义模板 ASP.NET MVCModel元数据与Model模板:模板获取与执行策略 ASP.NET MVCModel元数据与Model模板:将ListControl...引入ASP.NET MVC

    4.8K60

    Asp.Net MVC3 简单入门第一季(二)详解Asp.Net MVC3项目

    前言 在上一篇文章Asp.Net MVC3 简单入门第一季(一)环境准备中我简单介绍了Asp.Net MVC3项目的安装和第一个Asp.Net MVC3项目的基本情况。...第一节:Asp.Net MVC3项目介绍 让我们先看一下,一个普通Asp.Net MVC3项目的样例,如下图所示 跟WebFrom还是有区别的,如果你已经了解Asp.Net MVC2的话,那就感觉异常熟悉了...看下表所示就是Asp.Net MVC3中各个文件夹作用。...经过MVC3个模块了解分析,我们大体也知道了Asp.Net MVC一些基本概念。接下来我们分析一个完整Http处理过程。...Url 路由入门 Asp.Net MVC3 简单入门第一季(一)环境准备 Asp.Net MVC3 简单入门第一季(二)详解Asp.Net MVC3项目 Asp.Net MVC3 简单入门第一季(三)

    95010

    ASP.NET MVC使用Bootstrap系列(3)——使用Bootstrap 组件

    在这篇博客中,我将继续探索Bootstrap丰富组件以及将它结合到ASP.NET MVC项目中。...为了更好展示Bootstrap导航条,我在ASP.NET MVC_Layout.cshtml布局页创建一个fixed-top导航条,当然它是响应式——在小尺寸、低分辨率设备上打开时,它将会只展示一个按钮并带有...在ASP.NET MVC默认_Layouts.cshtml布局页中已经帮我们实现了上述功能,打开它对其稍作修改,如下代码片段所示: <div class="navbar navbar-inverse...使用SignalR动态更新进度条 SignalR是<em>ASP</em>.<em>NET</em><em>的</em>库,可以用来双向实时通信,在<em>ASP</em>.<em>NET</em> <em>MVC</em>项目中使用SignalR:1.首先通过NuGet来安装SignalR Nuget...这样当点击ID为start<em>的</em>按钮时动态为进度条更新了0-100<em>的</em>数值。 小结 在这篇博客中,探索了Bootstrap中丰富<em>的</em>组件,并将它结合到<em>ASP</em>.<em>NET</em> <em>MVC</em>项目中。

    6.5K100
    领券