MVC:编辑模型,额外字段

时间:2012-09-07 15:18:46

标签: asp.net-mvc model-view-controller

如果被多次询问,请不要打败我 我已经看过很多关于如何使用MVC编辑实体的精彩演示。他们希望我的编辑表单只包含3个字段,这些字段当然是可编辑的,因此能够在客户端和服务器之间轮换数据,直到用户最终输入正确的值。但我的应用程序有点复杂,我需要你的建议 1)我有一个实体产品,其字段名称和CreatedBy
2)唯一可编辑的字段是名称
3)如果输入不正确,我需要以最佳方式重新填充不可编辑的字段

出于此目的,我需要从repo检索业务对象并将缺少的值分配给生成的viewmodel。可以有很多值。我应该逐步分配它们吗?我应该使用(尝试)UpdateModel吗?我应该使用像AutoMapper这样的东西(从未尝试过)来指定如何相互更新实体吗?有什么常用的方法呢?请在编辑表单上包含3个以上可编辑字段的任何liknks ...谢谢!

1 个答案:

答案 0 :(得分:0)

根据您的评论,“它们不存储在hiddens中,但如果模型无效,那么我需要向用户返回包含可编辑和不可编辑值的视图。在控制器中我只能获得可编辑的值,我需要用手来设置别人。“以下是如何做到这一点:

<HttpPost()>
Function Create(company As Company) As ActionResult

    If ModelState.IsValid Then

        db.Companies.Add(company)
        db.SaveChanges()
        Return RedirectToAction("Index")

    End If

    ' if model state is not valid
        Return RedirectToAction("MyNewAction")

End Function

如果您的模型状态无效,则发送到另一个操作(或视图,如果您这样选择)。如果您需要创建单独的模型,则可以执行该操作,然后使用添加的字段将模型发送到新视图。

相关问题