从ajax调用

时间:2017-03-15 21:53:08

标签: jquery asp.net-mvc razor

我有一个分为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对象中返回日期并逐个分配每个编辑器时也遇到问题,这会按预期填充。

0 个答案:

没有答案