我正在寻找使用MVC 3从列表中的项创建启用Ajax的子表单的最佳方法。应生成静态值列表,但每个项旁边都有一个“编辑”链接/按钮,以切换内联编辑。
我确实按照此链接中的教程
然而,它基于表单编辑字段始终可见
我想显示一个包含字段值的静态列表,但让用户点击“编辑”(例如按钮)激活编辑字段
我确实修改了[1]中的示例,只创建了一个带有提交按钮的表单的默认局部视图。当通过ajax发布数据时,将显示编辑表单。看起来它正在工作,(我只需要在第一个POST上隐藏验证错误 - 它不会发送真实数据)。
更新: 更好的解决方案可能是在静态视图中省略所有表单,在每个项目旁边只有一个css类按钮/链接,然后让jquery获取所单击项目的相关视图。我不知道如何使用MVC 3 + jQuery做到这一点。
另一个更新: 我发现了Ajax.Actionlink,它完全符合我的要求!
答案 0 :(得分:2)
我发现了怎么做,事实证明这很简单!
我创建了两个部分视图。
用于渲染每个静态项目。我使用了Ajax.ActionLink和InsertionMode“replace”,并将项目的父项设置为目标
第二个用于呈现表单。在这里,我使用了类似选项的Ajax.Beginform。
在成功保存数据后,我返回静态视图,失败时,我再次返回带有ajax表单的局部视图。
我很高兴我找到了一种以MVC为中心的方法(虽然使用jQuery创建自定义内容很有趣)
答案 1 :(得分:0)
听起来你需要一个jQuery的内联编辑插件。我会尝试jEditable。我自己没有使用它,但似乎有广泛的文档。
答案 2 :(得分:-1)
此条目可能有所帮助:代码+视频+解释;)
-covo