问题标签 [updatemodel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - MVC 的 UpdateModel 表现奇怪和还原值。为什么?
我有一个我正在尝试使用 MVC(2) 更新的对象,也使用 EntityFramework 框架。
我知道我没有提供太多代码,但我真的觉得没有必要。我有这样的逻辑的原因,我会解释:
- 我有一些级联下拉菜单,当其中一个下拉菜单为空时,我使用 jQuery 为其填充“未知”值,例如 id 为 -1。
- 因此,当我得到值 -1 时,我创建了另一个表中的 UNKNOWN 值。
- 然后我找到那个对象并将它分配给
Fruit
像这样的代码:
运行 line后UpdateModel(object);
,我设置的值,例如,Fruit
恢复为从表单发送过来的值...(即 -1),然后EntityFramework.SaveChanges();
FK contrainst 失败(因为不存在 id 为 -1 的水果)!很公平——但这不是我分配给你的!
我不明白为什么它会恢复,因为在第一个AddToFruits()
未知数在数据库中之后......一直到UpdateModel(object);
它在object
......
如果它像我分配的那样添加它,则不会出现 FK 约束异常。但是 MVC 的 UpdateModel 决定做一些奇怪的事情并默认为(可能是表单提交时出现的)并将其搞砸了。
为什么会这样?我该如何解决?
asp.net-mvc-3 - MVC 3 - 当 ModelState 无效时,使用集合中的集合重新填充 ViewModel 属性
我有一个 ViewModel 有几个属性,其中包含用于在表单中填充 DropDowns 的集合。在 get Action 中,这些属性被填充,然后视图被正确渲染。
当用户提交表单时,在 Post 操作中,我的 ViewModel 包含表单中填写的所有数据,但所有集合属性均为空,因为浏览器不发送它们。没关系,当 ModelState 有效时,我不再需要它们了。但是,当 ModelState 无效时,我需要再次显示表单以更正错误。
MVC 是否将这些集合临时存储在任何地方,因为 ViewModel 属性可以很容易地填充与 get 操作中相同的值,还是我必须手动填充它们(从缓存或新查询到 db)?
我想,MVC 存储原始值,因此可以在后期操作的验证期间使用它们,但我想不通。
谢谢
asp.net-mvc - 如何使用(尝试)UpdateModel?
使用 (Try)UpdateModel 的正确方法是什么?
当我运行这个:
TryUpdateModel
返回真,ViewData
没有错误,- 但我
Proxy
的没有更新。
动作方法
发布数据
事物类
编辑:我也尝试过明确地传递表单集合
TryUpdateModel(Proxy, TypeName, idontknow)
编辑#2:(回应尼克拉森)
- 重新启动VS和服务器,没有变化。
- 值实际上在 FormCollection 中。
- 模拟数据有效!我知道我一定在这里搞砸了。
- 使用调试器检查值。
asp.net-mvc-3 - TryUpdateModel / UpdateModel 不起作用?
我正在尝试更新数据库中存在的多个对象并保存新对象,但它不起作用?
这是我的代码:
如果在 TryUpdateModel 之后我执行 db.SaveChanges(); 我得到一个具有引用完整性的 System.Data.UpdateException
如果我让我的代码像示例中一样,它就不会更新!:S
哦,是的,我也尝试过 UpdateModel() 。
有什么建议么?
提前致谢!
干杯
javascript - MVC3 - 多个元素具有相同 ID 时的 jQuery 日期选择器
我有一个奇怪的情况(我们不是吗?)日期选择器,想得到一些建议。
我有一个包含位置列表的屏幕,对于每个位置,他们可以单击编辑并编辑该位置。编辑显示在编辑链接下方,他们可以一次编辑多个位置。这意味着在屏幕上多次呈现同一个视图,因此将存在多个具有相同 id 的字段(编辑 4 个位置将导致 4 个“DateOpened”字段)。
因此,当我加载视图时,javascript 会将日期选择器添加到任何需要它的字段,如下所示:
工作正常,但是,正如您可能已经知道的那样,当我单击日历上的日期时,当多个编辑窗口打开时,它会填充第一个“DateOpened”字段。
有没有办法告诉日期选择器在某个父级中使用该字段,就像一般 jQuery 选择一样?
...或者有没有办法在不破坏 MVC 的 UpdateModel() 函数的情况下为字段提供不同的 id?或者有什么其他建议?
c# - UpdateModel() 做什么?
用外行的话来说,做UpdateModel()
什么,以及TryUpdateModel()
?我似乎无法(在 SO 或网络上)找到任何关于它实际作用的明确解释(用明确的术语),只是人们在使用它时遇到问题。
VisualStudio 的智能感知也没有帮助我。我问的原因是,比方说,如果我的控制器中有这个:
我不是已经通过设置更新我的模型了vm.BA.StatesTraveledTo
吗?为什么我需要运行 UpdateModel?此外,当我实际尝试执行以下操作时:
当我检查 ModelState 的值(在我运行 UpdateModel() 之后)时,似乎什么也没发生,我没有看到任何表明有任何变化的东西。我在 ModelState 字典中没有看到新键。
真的很迷茫。谢谢!
编辑:
发布 ViewModel 和 Model 类的源代码:
asp.net-mvc - 用于实体上下文访问的 ASP MVC 3 基本控制器
我已经为我的 MVC 3 项目实现了一个基本控制器,以允许从我的数据库上下文访问用户实体的通用方式:
这很好用,我的所有控制器都可以访问this.db.MyEntity
并可以通过调用来检索UserDetails
对象this.GetActiveUserDetails()
但是,当我尝试对实体执行更新时出现问题:
任何想法为什么UserDetails
可以轻松检索对象,但是当我在调用后检查我的数据库时SaveChanges()
,没有任何更新?我假设我正在以两种不同的方式访问我的上下文,但我看不到我是怎样的......!
编辑:这是 GetObjects.GetActiveUserDetails() 方法
不是我知道的最干净的方法......
asp.net-mvc - 模型绑定 - 输入外部装配体
我在程序集中有一个类型,它没有被核心库引用,但被 Web 应用程序引用。例如
现在我在核心库中有以下代码:
代码很容易解释,但 latestPosts.NumPosts 属性永远不会更新,即使该值存在于表单集合中。
如果有人可以帮助解释为什么这不起作用以及是否有替代方法,我将不胜感激。
谢谢
asp.net-mvc-3 - 如何在 MVC3 控制器中调用 UpdateModel 之前禁用验证
我希望在提交之前启用“保存”表单数据。
我希望用户能够保存表单进度,即使表单处于无效状态,然后稍后再返回。
现在,我唯一的问题是我希望能够使用UpdateModel
方法来更新我的模型。但是,由于表单可能无效或仅部分完成,这将引发错误。
有没有办法注释以下方法,以便在SAVE实例中忽略验证?
我希望不必为要保存的元素编写 1-1 映射 - 这是我的后备选项,但不是很容易维护。
entity-framework-4 - 更改 EF 模型并在运行时创建新实体
我在模型中使用 EF4(DB First),在实体中使用 POCO,在 UI 中使用 ASP.Net。我当然有一个 Biz 层。我需要设计动态表单生成器。我决定从用户设计的表单中创建一个表,然后在运行时更新我的 EF 模型,在运行时生成 POCO 对象和 biz 逻辑,然后在运行时编译它们。
我有关于在运行时更新模型的问题。有什么帮助吗?
在此先感谢-哈米德