我有一个分为2种形式的cshtml页面。
第一部分决定第二部分是编辑还是添加部分。 有选项可以搜索,然后呈现一个结果表供选择,或者一个按钮添加到显示一个隐藏的表单,其中包含要发布的编辑器字段。
如果是编辑,则会从编辑器模板加载表格,每行都有一个编辑操作链接,其中id = Model.Id。
当单击Edit链接时,jquery会阻止默认并捕获该行的Id,向控制器发送一个Ajax帖子,传递从数据库获取一些数据的唯一id,然后返回模型的单行并传递它回到了json。
然后想法是.show()
AddEdit部分,并使用返回的数据填充编辑器字段。
对于AddEdit部分,我知道我可以分配每个
@ Html.EditorFor()
使用唯一的ID然后在jquery中执行类似
的操作 success: function (data) {
var $("#Forename").val(data.Forename);
...
对于每一个,但这是正确的方法吗?看起来有点啰嗦。
是否只有一种方法可以使用返回的数据填充表单模型(这是一个视图模型)?
我之前从部分视图中调用了编辑器模板来显示数据行但不是这样,就好像用户单击添加按钮而不是编辑我希望表单具有编辑器字段,但当然是空的...
编辑。
将AddEdit部分的html移动到_PartialView中,现在从Ajax调用返回一个模型并填充局部视图
success: function (partialViewResult) {
$("#PartialDiv").html(partialViewResult);
似乎更清洁,代码更少!
在json对象中返回日期并逐个分配每个编辑器时也遇到问题,这会按预期填充。