问题标签 [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.
asp.net-mvc - 具有复杂数据输入字段的 ASP.NET MVC UpdateModel
如何使用 ASP.NET MVC UpdateModel 执行以下操作?我正在尝试将空格分隔的文本框数据(就像新 StackOverflow 问题中的 TAGS 文本框,例如这个)读入模型。
例如。
Tags 属性确实被实例化,但它只包含一项,即输入到 Tags 输入字段中的全部数据。如果我想在列表中有一个项目(基于通过空格拆分字符串).. 处理这个问题的最佳做法是什么?
干杯!
asp.net-mvc - 如何在不模拟的情况下对使用 UpdateModel 的操作进行单元测试?
我一直在阅读 Scott Guthrie 在ASP.NET MVC Beta 1上的出色文章。在其中,他展示了对 UpdateModel 方法的改进以及它们如何改进单元测试。我重新创建了一个类似的项目,但是每当我运行包含对 UpdateModel 的调用的 UnitTest 时,我都会收到一个 ArgumentNullException 命名 controllerContext 参数。
以下是相关位,从我的模型开始:
控制器动作:
最后我的单元测试失败了:
ArgumentNullException
调用时抛出UpdateModel
消息“值不能为空。参数名称:controllerContext”。我假设某处UpdateModel
需要System.Web.Mvc.ControllerContext
在测试执行期间不存在的地方。
我还假设我在某处做错了什么,只需要指出正确的方向。
请帮忙!
asp.net-mvc - 删除列表项时更新模型错误
我有一个编辑页面来编辑一些信息。页面填充了一个复杂的对象。此对象的属性之一是通用列表。
如果我只是编辑信息并保存,updatemodel 可以正常工作。如果我从列表中删除(我使用 jquery 删除表单元素客户端),更新模型将失败,并显示“对象未设置为实例”。
我猜更新模型期望列表保持相同的长度或其他内容,但找不到有关此的任何信息,有什么想法吗?
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)。任何人都可以提出解决方法吗?
asp.net-mvc - 我需要什么参考来调用 UpdateModel?
我正在尝试UpdateModel
在我的控制器以外的类中使用,但它不起作用。当我调用UpdateModel
我的控制器类时,它工作得很好。两个类中的引用相同。
有人可以帮我解决这个问题吗?
asp.net-mvc - ASP.Net RC1 中 TryUpdateModel 的模拟要求
我正在为 RC1 中的控制器编写一些单元测试。这是我正在测试的控制器的公共签名:
AcceptColleague 内部的实现使用 TryUpdateModel(colleague) 方法从表单字段中填充 Colleague 对象。但是,在尝试对该方法进行单元测试时,我在 TryUpdateModel 行上遇到了“对象引用未设置为对象的实例”错误。
这是我的单元测试代码:
我是否在模拟中遗漏了某些内容,还是应该使用不同的公共签名,例如 AcceptColleague(Colleague colleague),然后测试 ModelState.IsValid 属性?
如果是这样,怎么看不到我可以模拟控制器的只读 ModelState 属性的方法?
c# - UpdateModel 不会正确转换布尔值
我有一个名为 S2kBool 的自定义对象,可以与常规布尔对象相互转换。基本上,它允许我的应用程序以与处理 C# 布尔值相同的方式处理遗留数据库中的布尔值。然后问题是,当我尝试使用复选框设置 S2kBool 属性的值时,它失败了。
像这样的代码有效:
但这几乎就像 UpdateModel 期待一个实际的 bool 类型,而不是一个可以转换为 bool 的对象。但是,我真的不能说,因为抛出的异常是如此模糊:
模型未成功更新。
我怎样才能解决这个问题?我需要自定义 ModelBinder 吗?
谢谢!
asp.net-mvc - MVC UpdateModel 复杂类型
如果你有以下类型。
您将页面强类型化为 Person。
在控制器中:
我称之为 UpdateModel。除 Person.Parameters 外,所有属性均已正确填写。在 updateModel 之后,这始终为空。
是否有解决方案或解决方法?
问候,史蒂夫
.net - MVC 控制器独立于视图类型 UpdateModel
我想在没有通知视图类型的控制器中使用 updateModel。我有不同的视图,它们具有不同的类型,但都有一个 ExternalBase 类作为继承类型。
所以在我的控制器中我总是有一个 ExternalBase 但控制器不知道正确的类型。
在保存时,我调用了一个获取正确对象的方法,但它将它作为 externalBase 返回。innertype 是我的正确类型。如果我将鼠标悬停在我的对象上,它就是调用保存的视图类型。现在,如果我在其上调用 updateModel,它不会填写属性。
举个例子:
// MyExternalBase 是一个空类
班级人
在我的保存控制器中,我执行以下操作:
现在 p 没有填满。
如果我改为使用 Person p = new Person() 那就没问题了。但我希望我的控制器独立于视图类型。
这是 updateModel 中的错误还是不可能的?还是有解决方法?
asp.net-mvc - ASP.NET MVC 使用 UpdateModel 发布子记录
继续这个问题,我有一个表格,其中列出了一个人的所有车辆,车辆字段是可编辑的,它们现在已成功发回我的保存操作。
现在我想使用 UpdateModel 来保存数据,但我不确定如何构造它。这是我现在的保存操作:
当我运行它时,它不会保存任何东西,并且 UpdateModel 不会抛出任何错误。我假设我必须给它更多的方向才能让它发挥作用,因为 UpdateModel 不知道车辆数组中的哪个项目用于每次更新。
我是否需要将 ValueProviderResult 指定为 UpdateModel 的第三个参数?如果是这样,我如何从车辆(i)中创建一个?我是否完全不了解我的设置方式?