问题标签 [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 回答
6602 浏览

asp.net-mvc - 具有复杂数据输入字段的 ASP.NET MVC UpdateModel

如何使用 ASP.NET MVC UpdateModel 执行以下操作?我正在尝试将空格分隔的文本框数据(就像新 StackOverflow 问题中的 TAGS 文本框,例如这个)读入模型。

例如。

Tags 属性确实被实例化,但它只包含一项,即输入到 Tags 输入字段中的全部数据。如果我想在列表中有一个项目(基于通过空格拆分字符串).. 处理这个问题的最佳做法是什么?

干杯!

0 投票
3 回答
4667 浏览

asp.net-mvc - 如何在不模拟的情况下对使用 UpdateModel 的操作进行单元测试?

我一直在阅读 Scott Guthrie 在ASP.NET MVC Beta 1上的出色文章。在其中,他展示了对 UpdateModel 方法的改进以及它们如何改进单元测试。我重新创建了一个类似的项目,但是每当我运行包含对 UpdateModel 的调用的 UnitTest 时,我都会收到一个 ArgumentNullException 命名 controllerContext 参数。

以下是相关位,从我的模型开始:

控制器动作:

最后我的单元测试失败了:

ArgumentNullException调用时抛出UpdateModel消息“值不能为空。参数名称:controllerContext”。我假设某处UpdateModel需要System.Web.Mvc.ControllerContext在测试执行期间不存在的地方。

我还假设我在某处做错了什么,只需要指出正确的方向。

请帮忙!

0 投票
2 回答
278 浏览

asp.net-mvc - 删除列表项时更新模型错误

我有一个编辑页面来编辑一些信息。页面填充了一个复杂的对象。此对象的属性之一是通用列表。

如果我只是编辑信息并保存,updatemodel 可以正常工作。如果我从列表中删除(我使用 jquery 删除表单元素客户端),更新模型将失败,并显示“对象未设置为实例”。

我猜更新模型期望列表保持相同的长度或其他内容,但找不到有关此的任何信息,有什么想法吗?

0 投票
1 回答
1305 浏览

asp.net-mvc - FormatException:Html.CheckBox()、UpdateModel() 和隐藏的输入

在我看来,我有一个 bool 字段的复选框,如下所示:

如果你喜欢,你可以忘记绒毛:

..导致同样的问题。

当我尝试更新我的模型时:

..我得到带有两个布尔字段的对象数组返回。好的,所以我了解隐藏字段的需要。但我使用的是 MVC Beta,我相信 UpdateModel 没有正确处理帖子数据。我收到此错误:System.FormatException“字符串未被识别为有效的布尔值。” ..当表格有时会发回时。我的意思是表单工作正常,保存真假状态,除非表单上的另一个字段为空。然后它抱怨“真,假”值。这很好。我知道字符串“true,false”不是一个有效的布尔值,但是它有时会抱怨而其他时候会起作用吗?请帮忙

编辑: 拜托,如果 some1 甚至可以建议 UpdateModel() 方法的另一种方法,我会看看。我怀疑这是我想念的简单的东西。

编辑 2: 这似乎是 MVC Beta 中的一个已知错误(http://www.codeplex.com/aspnet/WorkItem/View.aspx?WorkItemId=2671&FocusElement=CommentTextBox)。任何人都可以提出解决方法吗?

0 投票
1 回答
171 浏览

asp.net-mvc - 我需要什么参考来调用 UpdateModel?

我正在尝试UpdateModel在我的控制器以外的类中使用,但它不起作用。当我调用UpdateModel我的控制器类时,它工作得很好。两个类中的引用相同。

有人可以帮我解决这个问题吗?

0 投票
1 回答
2093 浏览

asp.net-mvc - ASP.Net RC1 中 TryUpdateModel 的模拟要求

我正在为 RC1 中的控制器编写一些单元测试。这是我正在测试的控制器的公共签名:

AcceptColleague 内部的实现使用 TryUpdateModel(colleague) 方法从表单字段中填充 Colleague 对象。但是,在尝试对该方法进行单元测试时,我在 TryUpdateModel 行上遇到了“对象引用未设置为对象的实例”错误。

这是我的单元测试代码:

我是否在模拟中遗漏了某些内容,还是应该使用不同的公共签名,例如 AcceptColleague(Colleague colleague),然后测试 ModelState.IsValid 属性?

如果是这样,怎么看不到我可以模拟控制器的只读 ModelState 属性的方法?

0 投票
2 回答
920 浏览

c# - UpdateModel 不会正确转换布尔值

我有一个名为 S2kBool 的自定义对象,可以与常规布尔对象相互转换。基本上,它允许我的应用程序以与处理 C# 布尔值相同的方式处理遗留数据库中的布尔值。然后问题是,当我尝试使用复选框设置 S2kBool 属性的值时,它失败了。

像这样的代码有效:

但这几乎就像 UpdateModel 期待一个实际的 bool 类型,而不是一个可以转换为 bool 的对象。但是,我真的不能说,因为抛出的异常是如此模糊:

模型未成功更新。

我怎样才能解决这个问题?我需要自定义 ModelBinder 吗?

谢谢!

0 投票
1 回答
2254 浏览

asp.net-mvc - MVC UpdateModel 复杂类型

如果你有以下类型。

您将页面强类型化为 Person。

在控制器中:

我称之为 UpdateModel。除 Person.Parameters 外,所有属性均已正确填写。在 updateModel 之后,这始终为空。

是否有解决方案或解决方法?

问候,史蒂夫

0 投票
2 回答
390 浏览

.net - MVC 控制器独立于视图类型 UpdateModel

我想在没有通知视图类型的控制器中使用 updateModel。我有不同的视图,它们具有不同的类型,但都有一个 ExternalBase 类作为继承类型。

所以在我的控制器中我总是有一个 ExternalBase 但控制器不知道正确的类型。

在保存时,我调用了一个获取正确对象的方法,但它将它作为 externalBase 返回。innertype 是我的正确类型。如果我将鼠标悬停在我的对象上,它就是调用保存的视图类型。现在,如果我在其上调用 updateModel,它不会填写属性。

举个例子:

// MyExternalBase 是一个空类

班级人

在我的保存控制器中,我执行以下操作:

现在 p 没有填满。

如果我改为使用 Person p = new Person() 那就没问题了。但我希望我的控制器独立于视图类型。

这是 updateModel 中的错误还是不可能的?还是有解决方法?

0 投票
1 回答
1418 浏览

asp.net-mvc - ASP.NET MVC 使用 UpdateModel 发布子记录

继续这个问题,我有一个表格,其中列出了一个人的所有车辆,车辆字段是可编辑的,它们现在已成功发回我的保存操作。

现在我想使用 UpdateModel 来保存数据,但我不确定如何构造它。这是我现在的保存操作:

当我运行它时,它不会保存任何东西,并且 UpdateModel 不会抛出任何错误。我假设我必须给它更多的方向才能让它发挥作用,因为 UpdateModel 不知道车辆数组中的哪个项目用于每次更新。

我是否需要将 ValueProviderResult 指定为 UpdateModel 的第三个参数?如果是这样,我如何从车辆(i)中创建一个?我是否完全不了解我的设置方式?