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

MVC EditorFor date不更新foreach循环中的sub属性

是一个关于MVC(Model-View-Controller)框架中的一个问题。在这个问题中,当使用MVC框架中的EditorFor方法来渲染日期字段时,循环遍历的子属性没有被正确更新。

MVC是一种软件设计模式,用于将应用程序的逻辑分离成三个主要组件:模型(Model)、视图(View)和控制器(Controller)。它提供了一种结构化的方法来组织和管理应用程序的代码。

EditorFor是MVC框架中的一个辅助方法,用于生成HTML表单元素的编辑器。它可以根据模型属性的数据类型自动选择适当的编辑器类型,并将属性值绑定到编辑器上。

在这个问题中,当使用foreach循环遍历一个包含子属性的集合时,如果使用EditorFor来渲染日期字段,日期字段的值可能无法正确更新。这是因为EditorFor方法会为每个子属性生成唯一的名称和ID,但在循环中,这些名称和ID可能会重复,导致更新错误。

为了解决这个问题,可以使用for循环而不是foreach循环来遍历集合,并为每个子属性生成唯一的名称和ID。这样,EditorFor方法就可以正确地更新日期字段的值。

以下是一个示例代码片段,展示了如何使用for循环来解决这个问题:

代码语言:txt
复制
@for (int i = 0; i < Model.SubProperties.Count; i++)
{
    @Html.EditorFor(model => model.SubProperties[i].Date)
}

在这个示例中,我们使用了一个for循环来遍历SubProperties集合,并为每个子属性的Date字段生成唯一的编辑器。

对于这个问题,腾讯云并没有特定的产品或链接来解决,因为它是一个与具体云计算平台无关的MVC框架问题。然而,腾讯云提供了各种云计算产品和服务,可以帮助开发人员构建和部署应用程序。您可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • MVC Code First (代码优先)

    Books属性表示数据库中数据集实体,用来处理数据存取与更新。BookDbContext派生自DbContext,须要加入System.Data.Entity引用。...summary> public class BookDbContext:DbContext { /// /// 表示用于运行创建、读取、更新和删除操作类型化实体集...验证中全部属性验证成功ModelState.IsValid等于true,仅仅要有一个验证不成功ModelState.IsValid就等于false 所以我们能够通过该属性来推断数据有效性,但有时在数据验证时有时我们不须要验证全部数据...使用下面方法能够排除要验证字段:ModelState.Remove("Email");验证Email。...{ Book oldbook = db.Books.Find(newbook.BookID); //使用来自控制器的当前值提供程序更新指定模型实例

    88610

    MVC3教程之实体模型和EF CodeFirst

    每一个Book类实例对应数据库中一行,Book类中每一个属性被映射到数据库中一列。...Books属性表示数据库中数据集实体,用来处理数据存取与更新。BookDbContext派生自DbContext,需要添加System.Data.Entity引用。...3.添加数据库连接   由于我们创建是空Mvc项目,所以在Web.config文件中,包含任何数据库连接字符串,我们打开Web.config文件,为它添加一个数据库连接字符串配置: <connectionStrings...学习笔记   通过本节学习,我们可以了解EF CodeFirst功能、MVC实体模型操作等。...对于实体操作,还有更新、查看和删除操作,笔者不再一一讲解其步骤,只将控制器代码贴出,以供朋友们参照。视图代码可以参考自动生成,稍作修改即可。

    1.3K20

    通过实例模拟ASP.NET MVCModel绑定机制:数组

    [续《通过实例模拟ASP.NET MVCModel绑定机制:简单类型+复杂类型]》]基于数组和集合类型Model绑定机制比较类似,对于绑定参数类型或者参数类型某个属性为数组或者集合,如果ValueProvider...此外,针对数组/集合Model绑定还支持基于索引方式。[源代码从这里下载][本文已经同步到《How ASP.NET MVC Works?》...为了演示针对数组Model绑定,我们按照如下方式修改了Action方法。该方法具有两个参数foo和bar,前者是一个字符串数组,后者类型BarBaz属性是一个整型数组。...在Action方法中,我们将foo参数和bar参数Baz属性代表数组元素呈现出来。...Model绑定机制:简单类型+复杂类型 通过实例模拟ASP.NET MVCModel绑定机制:数组 通过实例模拟ASP.NET MVCModel绑定机制:集合+字典

    3.3K90

    Asp.Net MVC4入门指南(6):验证编辑方法和编辑视图

    { id=item.ID }) Html对象是一个Helper, 以属性形式, 在System.Web.Mvc.WebViewPage基类上公开。...此属性指定了Edit方法重载,此方法仅被POST 请求所调用。您可以将HttpGet属性应用于第一个编辑方法,但这是不必要,因为它是默认属性。...Html.EditorFor 用来呈现 HTML 元素。Html.ValidationMessageFor 用来显示与该属性相关联任何验证消息。...ModelState.IsValid方法用于验证提交表单数据是否可用于修改(编辑或更新)一个Movie对象。...数据保存之后,代码会把用户重定向到MoviesController类Index操作方法,页面将显示电影列表,同时包括刚刚所做更新。 如果form发送值不是有效值,它们将重新显示在form中。

    4.3K100

    探索ASP.NET MVC5系列之~~~4.模型篇---包含模型常用特性和过度提交防御

    #mvc 本章Demo:https://github.com/dunitian/LoTCodeBase/blob/master/NetCode/6.网页基础/BMVC5/MVC5Base/Controllers...6B13-4215-9E4C-192C4A45C049&check=xxxxxxxxxxxxxxxxxxxxxxxxx 黑客要修改url参数,那么至少满足这2个条件: 1.得到私钥 2.解猜加密方式(建议直接用...只能修改哪些属性或者不允许设置哪些属性 通过Bind就可以实现了: 黑名单模式: ?...或者用白名单模式:(建议用这种,安全性更高【ps:你后期有可能再加属性,到时候忘了over了?】) ?...模型绑定会从请求中(不一定是表单,路由,url之类也可以)查找相关参数(Product相关属性) eg:从路由获取相关参数 ? ? eg:从url获取参数 ?

    76580

    通过实例模拟ASP.NET MVCModel绑定机制:简单类型+复杂类型

    [源代码从这里下载][本文已经同步到《How ASP.NET MVC Works?》...为了验证我们自定义DefaultModelBinder能够真正地用于针对简单参数类型Model绑定没我们将它应用到一个具体ASP.NET MVC应用中。...在通过Visual StudioASP.NET MVC项目模板创建空Web应用中,我们创建了如下一个默认HomeController。...随便提一下,对于基于提交表单Model绑定来说,作为匹配是表单元素name属性而非id属性,所以这里命名指的是name属性而非id属性。...Model绑定机制:简单类型+复杂类型 通过实例模拟ASP.NET MVCModel绑定机制:数组 通过实例模拟ASP.NET MVCModel绑定机制:集合+字典

    1.9K80

    ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)

    Display属性指明要显示字段名称(在本例中“Release Date”来代替“ReleaseDate”)。...Html对象是一个Helper, 以属性形式在System.Web.Mvc.WebViewPage基类上公开。...此属性指定了Edit方法重载,此方法仅被POST 请求所调用。您可以将HttpGet属性应用于第一个编辑方法,但这是不必要,因为它是默认属性。...ModelState.IsValid方法用于验证提交表单数据是否可用于修改(编辑或更新)一个Movie对象。...数据保存之后,代码会把用户重定向到MoviesController类Index操作方法,页面将显示电影列表,同时包括刚刚所做更新。 一旦客户端验证确定某个字段值是无效,将显示出现错误消息。

    6.7K110

    ASP.NET MVC 5 - 给数据模型添加校验器

    (DataAnnotations也包含一个DataType属性,来帮助格式化办法来校验) 更新Movie类,以利用内置Required、 StringLength, RegularExpression...我们将使用迁移来更新架构。...如何验证创建视图和创建方法 您可能很想知道验证用户界面在没有更新控制器或视图代码情况下是如何生成。下面列出了MovieController类中Create方法。...该数据类型属性发出HTML5data-(发音读数据破折号)属性与HTML5浏览器可以理解。 该DataType 属性不提供任何验证。 DataType.Date并未指定显示日期格式。...· 在DataType属性可以使MVC选择合适字段模板以呈现数据(如果本身所使用DisplayFormat使用字符串模板)。

    9K70

    这算是ASP.NET MVC一个大BUG吗?

    这是昨天一个同事遇到问题,我觉得这是一个蛮大问题,而且不像是ASP.NET MVC设计者有意为之,换言之,这可能是ASP.NET MVC一个Bug(不过也有可能是保持原始请求数据而作妥协)。...该方法接受一个类型为DemoModel参数,定义其中逻辑非常简单:我们对该参数三个属性略加修改后,将其作为Model呈现在对应View中。...(m => m.Foo) @Html.LabelFor(m => m.Bar) @Html.EditorFor (m => m.Bar) @Html.LabelFor(m => m.Baz) @Html.EditorFor...不过我还是觉得这样设计有违MVC基本原则,MVC处理请求流程很清楚:客户端(浏览器)向定义在Controller中某个Action方法发送请求,Action方法处理这个请求,并呈现出相应View...换言之,最终呈现怎么View应该完全由Action方法决定,对于我们例子来说,Action方法很明显意图就是将更新Model呈现出来。

    82580

    ABP入门系列(5)——展现层实现增删改查

    最终实现效果如下图: 一、定义Controller ABP对ASP.NET MVC Controllers进行了集成,通过引入Abp.Web.Mvc命名空间,创建Controller继承自AbpController...为了使用ASP.NET MVC强视图带给我们好处(模型绑定、输入校验等等),我们需要创建一个ViewModel来进行模型绑定。...因为Abp提倡为每个不同应用服务提供不同Dto进行数据交互,新增对应CreateTaskInput,更新对应UpdateTaskInput,展示对应TaskDto。...其中getTaskList()函数是用来异步属性列表,对应调用GetList()Action后台代码如下: public PartialViewResult GetList(GetTasksInput...展现层主要用到了Asp.net mvc强类型视图、Bootstrap-Modal、Ajax异步提交技术。 其中需要注意是,在异步加载表单时,需要添加以下js代码,jquery方能进行前端验证。

    4K50

    关于 MVVM和MVC这些,你知道吗?

    爱自己,是终生浪漫开始 ------王尔德 ---- 对于MVC想来小伙伴是陌生,但是网上资源各抒己见…我也整晕头转向,可能有前(后)端,有胖(瘦)客户端框架应用,具体还有细微差异。...我们这里讨论MVC和MVVM是以BS架构为基础java Web中应用,因为博主只接触了这方面的,关于网上提到IOS和一些客户端框架,没有接触过。本博客也涉及。...当多个View与一个 Model进行绑定时,每次更新 Model时需要在Model set访问器属性更新多个 View,这样硬编码方式不利于后期维护。...桥梁,能够订阅并收到每个属性变动通知,执行指令绑定相应回函数 (发布),从而更新视图 MVVM入口函数,整合以上三者 当新建一个Vue 对象时,框架进入初始化阶段。...this.subs.forEach(function(sub) { sub.update(); }); }

    78800

    关于 MVVM和MVC一些总结

    对于MVC想来小伙伴是陌生,但是网上资源各抒己见…我也整晕头转向,可能有前(后)端,有胖(瘦)客户端框架应用,具体还有细微差异。...我们这里讨论MVC和MVVM是以BS架构为基础java Web中应用,因为博主只接触了这方面的,关于网上提到IOS和一些客户端框架,没有接触过。本博客也涉及。...当多个View与一个 Model进行绑定时,每次更新 Model时需要在Model set访问器属性更新多个 View,这样硬编码方式不利于后期维护。...桥梁,能够订阅并收到每个属性变动通知,执行指令绑定相应回函数 (发布),从而更新视图 MVVM入口函数,整合以上三者 ?...this.subs.forEach(function(sub) { sub.update(); }); }

    2.7K30

    ASP.NET MVC使用Bootstrap系列(2)——使用Bootstrap CSS和HTML元素

    @Html.DisplayFor(modelItem => item.Discontinued) } 更新过后效果如下所示...ASP.NET MVC创建包含Bootstrap样式编辑模板 基元类型 编辑模板(Editor Template)指的是在ASP.NET MVC应用程序中,基于对象属性数据类型通过Razor视图渲染后...举个栗子,@Html.EditorFor(model => model.Property),如果Property类型为string,那么@Html.Editor 会创建一个Type=TextInput...所以EditorFor helper是基于model 属性数据类型来渲染生成HTML。 不过美中不足是,默认产生HTML如下所示: ?...ToString(), new { @class = "form-control", rows = 3 }) 为了让我们Model属性在渲染时采用MultilineText.cshtml编辑模板,我们需要为属性指定

    6.1K80

    vue双向绑定原理及实现_vue双向绑定指令

    四、最后写一个html测试一下我们功能 一、MVC模式 MVC模式 以往MVC模式是单向绑定,即Model绑定到View,当我们用JavaScript代码更新Model时,View就会自动更新 二、...Watcher接收到相应属性变化,就会执行对应更新函数,从而更新视图。...2.实现一个订阅者Watcher,每一个Watcher都绑定一个更新函数,watcher可以收到属性变化通知并执行相应函数,从而更新视图。...[订阅者] */ addSub: function(sub) { this.subs.push(sub); }, // 通知订阅者数据变更 notify: function() { this.subs.forEach...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1K20
    领券