问题标签 [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.

0 投票
1 回答
224 浏览

c# - 实体是否应该访问服务层并执行更新/保存方法?

我的应用程序要求:如果用户更改了任何属性 - 例如将数据输入文本框然后离开文本框 - 它必须立即更新到数据库。

我使用带有 MVVM 设计模式的 WPF。我所有的实体都实现了INotifyPropertyChanged. 如果客户的任何财产发生变化,我会

实体真的应该自我更新吗?还是将它自己的更新引入数据库?

我的意思是,如果不在实体内,我还能如何立即更新财产?

0 投票
1 回答
1943 浏览

asp.net-mvc - MVC 3 Master / Detail UpdateModel 插入新的详细记录而不是更新现有记录

好的,我已经阅读了 Phil Haack 关于绑定到列表的文章,并且我在一个视图上运行良好。但是当我从主记录中做这件事时,我被卡住了。

我有这个对象的一个​​非常简单的表格

表单集合带有预期的前缀:

并且 Controller.UpdateModel(master) 正确绑定了所有属性。但是当我调用 dbContext.SaveChanges 时,它会从 sql profiler 发出以下 sql(伪代码)

我有一个可行的解决方法,但它非常hackish,我目前没有匹配密钥,所以它依赖于以正确顺序返回的所有内容。另外,我必须包含我想要更新的所有字段。

我有一种感觉,UpdateModel 以某种方式删除并重新添加了孩子。

有没有其他人让这个工作?当然,我可以认输并自己解析索引字段名称,但我已经很接近了!

0 投票
1 回答
2342 浏览

asp.net-mvc-3 - mvc3 razor 下拉列表导致更新模型失败

我对以下代码有疑问。基本上,当我调用 updatemodel 时它会失败,但我没有得到内部异常。如果我将下拉菜单更改为文本框,它可以工作。

班级:

控制器方法:

最后是cshtml代码:

当我单击保存按钮时,updatemodel 行失败。如上所述,如果我使用文本框作为性别,它不会失败。有谁知道是什么导致它失败或如何调试它?

0 投票
1 回答
2015 浏览

asp.net - 在 MVC 3 应用程序中更新模型子集合?

这是困扰我一段时间的更大问题的一部分(请参阅“EntityCollection 已初始化”错误,在 Asp.Net MVC 中将实体作为模型?对于整个图片)。

但是我找到了一个网站,其中有人遇到了类似的问题,显然解决了他的需要(见http://codeblog.shawson.co.uk/creating-an-order-order-details-style-form-using -asp-net-mvc2-entity-framework/)。我试过了,但必须进行一些修改以适应我的代码,以及 Steven Sanderson 的教程提供的辅助方法(参见上一篇文章)。

我似乎非常接近,但并不完全:

尽管这遵循了上面网站上的示例,并且 modelProgram 确实使用更改的属性进行了更新,但这些值不会保存到 Consultant 对象的 _repository.Save() 上的数据库中,即使 modelProgram 对象是对顾问上的程序对象...我做错了什么?

顺便说一句,如果不清楚,我正在使用实体框架。

(顺便说一句,如果有人对上一个问题和整个图片有任何意见,那也将受到欢迎,但仍未解决)。

请帮忙,我对 MVC 失去了信心,我最近对此感到非常兴奋......

更新:这里显然有一个错误:UpdateModel 实际上并没有进行任何更新,我只是为 modelProgram 引用了一个不同的对象(视图模型中的那个),所以它当然具有正确的属性值。我仍然想要关于如何实现这一目标的想法......

0 投票
1 回答
332 浏览

asp.net-mvc - UpdateModel 无法使用模拟表单集合值返回正确的结果

我有两个调用控制器的测试方法:
这个通过了:


这个失败了:

控制器中的动作结果是

但是,try-catch 块永远不会捕获异常(“IM_Paper.Year”应该是一个 int)。所以控制器总是将 Action 结果作为 RedirectToAction 返回。即使是第一个,内存中的数据也没有改变。

你知道为什么会这样吗?对于“IM_Paper”类,我使用 POCO 生成器并从实体框架生成。该类如下所示:

0 投票
2 回答
2496 浏览

exception - ASP.NET MVC3:TryUpdateModel 引发异常

我有一个接受以下模型的视图:

这将返回到以下操作:

但是,在回发时会引发以下异常:

无法将“System.Int32”类型的对象转换为“System.String”类型。

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.InvalidCastException:无法将“System.Int32”类型的对象转换为“System.String”类型。

源错误:

虽然我不能在这里突出显示,但异常发生在第 137 行。我无法进入此方法,那么如何确定导致此异常的原因?

另外,TryUpdateModel不应该让我免受任何异常的影响,只是返回truefalse来反映结果吗?我不知道它可能会引发异常。

更新:这是模型(派生和基础):

基本类型是一个实体,我能想到的显示它的最好方法是显示它背后的 XML:

然后有一个伙伴类来扩展它:

最后,这是视图的相关部分:

0 投票
4 回答
5165 浏览

c# - ASP.NET MVC 更新模型不起作用?

我想更新一个客户端类型的实体。

服务返回客户端类型实体。客户端具有以下属性:用户名、名字、姓氏、ID - 这些是提交集合中的键。

此外,客户端实体有一个订单列表(由 SQL Metal 添加)以及一个用于对象跟踪的版本字段。

当 UpdateModel 行被命中时,它不会出错,但对象 c 中的值不会得到更新。问题不在于service.Update(c),而在于UpdateModel(c, "Client")

我究竟做错了什么?

谢谢

编辑: 客户端由 SQL 金属映射。

其属性如下:

  1. 整数 ID
  2. 字符串用户名;
  3. 字符串名字;
  4. 字符串姓氏;
  5. 时间戳版本
  6. 可查询的订单;

错误(内部异常为空)

0 投票
2 回答
8118 浏览

asp.net-mvc-3 - UpdateModel 不通过 ViewModel 和 DropDownListFor 的属性更新模型

我正在尝试设置一个编辑视图,在该视图上我有一个文本框和 DropDownListFor。我已经找到了一种填充 DDLF 的方法,并且渲染和发布的值是正确的,但我似乎无法让模型正确更新。

我试图更新的对象是从 LINQtoSQL 生成的,并且在数据库中它具有外键列。在导致“包含”关系的 LINQtoSQL 类中。我可以访问代表 DB 中的列的 ID 属性,以及它代表的对象。

我想出进行更新的唯一方法是从 DDLF 获取值并使用它来获取我想要更改的对象,如下所示:

此外,当我尝试像这样更新 ID 字段时,我得到以下错误:

错误:抛出新的 System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();

在我看来,这样做是非常糟糕的方式,我正试图让 UpdateModel 工作。

0 投票
3 回答
3955 浏览

asp.net-mvc - 绑定到 ViewModel 时如何更新模型?

我有一个这样的[HttpPost]动作方法签名:

现在,在过去(当我不使用 ViewModel,例如 R&D 时),我有一个这样的Edit方法的实现:

效果很好。

但我很困惑如何使上述内容适应 ViewModel 方法。

如果我这样做:

使用我的 ViewModel 方法,不会发生太多事情。没有错误,但没有更新,因为 MVC 不知道如何Post从 a 更新 a ExistingPostViewModel(之前是Post-> Post)。

现在,我正在使用 AutoMapper。所以我想我可以从 ViewModel 映射到Post,然后保存帖子。

但后来我基本上压倒了一切。我不想这样做并且破坏了削减 ViewModel 的要点。

谁能解惑我?

这似乎是一个非常常见的场景,我完全不知道人们如何解决这个问题。我只能看到 3 种可能的解决方案:

  1. 不要在 HTTP POST 中使用 ViewModel。正如我所说,我过去是为研发而这样做的,它确实有效,但现在我看到了我的视图是如何演变的(验证、简单),我不能仅仅为了这个问题而妥协。

  2. 不要使用 TryUpdateModel。可能,但是我将如何合并更改?

  3. 使用从左到右。啊。但目前这似乎是我倾向于的方式。

有人请给我解决方案#4!:)

顺便说一句,我正在使用 ASP.NET MVC 3、Razor 和实体框架。

0 投票
1 回答
423 浏览

asp.net-mvc - 无法使用 mvc 中的文件上传更新图像

我正在尝试更新已经更新到数据库的文本和图像。我有一个管理部分,其中有一个新闻菜单,用户可以在其中编辑和更新带有图像的新闻。问题是我可以编辑和更新新闻文本,但图像没有更新。下面是控制器和视图: