【问题标题】:asp.net mvc: more info on UpdateModel exceptionasp.net mvc:有关 UpdateModel 异常的更多信息
【发布时间】:2013-12-28 00:25:56
【问题描述】:

我有时会在 UpdateModel 函数中遇到错误。 但是,我似乎无法找到导致问题的字段的确切消息。 比如这个: "'Enquete' 类型的模型没有成功更新。"

它有一个 NULL 的内部异常,没有进一步的描述。有没有办法找出导致问题的原因?

米歇尔

编辑: 我在输出窗口中看到了这个: “System.Web.Mvc.dll 中发生了‘System.InvalidOperationException’类型的第一次机会异常”

【问题讨论】:

    标签: asp.net asp.net-mvc


    【解决方案1】:

    Steve Sanderson 有一个wonderful article 使用 MVC 源代码来帮助您调试应用程序。

    我认为这将帮助您获得更多信息。

    善良,

    【讨论】:

    • 确实有效,但是调试 mvc 源并不是一件容易的事(嗯,调试是,但理解它是另一回事)
    【解决方案2】:

    只是一个疯狂的猜测:您正在尝试将null 绑定到一个值类型。在您的模型中检查 intfloatDateTimestructs、...您尝试绑定到 null 的数据类型。

    【讨论】:

    • 我会调查一下,InvalidOperationException 确实给了我这样的提示,你是对的。因此,当我想绝对确定没有错误时,我必须创建一个非常“松散”或“宽容”的模型,您可以在其中放置任何数据,然后验证该模型,然后将其放入我的业务模型中。因为当用户为不可为空的 int 输入空值时,它会引发 UpdateModel() 异常。这给我留下了从视图模型到业务模型的烦人更新......
    【解决方案3】:

    我遇到了这种类型的异常,根据我的经验,我知道是什么原因造成的...... 我们在实体中有一个主键字段或身份字段... 如果我们尝试使用文本框之类的 html 控件在视图中显示该字段,那么此时 updateModel 会抛出异常 否则不会抛出异常

    【讨论】:

      【解决方案4】:

      改用 TryUpdateModel。它不会抛出异常,但是您可以检查 ModelState 是否有错误。 我知道已经晚了,但要帮助别人。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-06-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多