【问题标题】:asp.net mvc - Data lost on post backasp.net mvc - 回发时数据丢失
【发布时间】:2012-05-14 03:01:02
【问题描述】:

我有一个只有一个复选框的表单。如果未选中该复选框,则该页面将无效并且不会提交数据。在视图中,我已经从模型对象中放入了一些字段,只是为了让用户知道他们正在删除什么。当我单击提交按钮并且模型状态无效时,页面将显示验证错误,但模型中的数据不再存在!

有谁知道我如何在不再次调用数据库来填充模型对象的情况下保存这些数据?

谢谢

【问题讨论】:

  • 一旦验证失败,您是否将视图模型作为 return View() 语句的一部分返回?

标签: asp.net-mvc-3 model validation postback


【解决方案1】:

ASP.Net MVC 不会神奇地保留模型信息。

您需要将其包含在表单的隐藏字段中(攻击者可以修改),或者从数据库中重新获取它。

【讨论】:

    【解决方案2】:

    如果您不从数据库重新填充模型,则必须回发所有数据,例如使用隐藏字段。

    无论如何,我不明白模型验证如何失败,只是一个复选框:/。

    【讨论】:

    • 模型验证效果很好,这只是一个表面问题
    猜你喜欢
    • 2010-10-24
    • 1970-01-01
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-13
    相关资源
    最近更新 更多