数据库更新后立即更新UI的最佳方法是什么(ASP.NET和JQuery)

时间:2015-01-08 14:29:00

标签: jquery asp.net ajax web-services partial-page-refresh

我有一个如下所示的jQuery ajax服务调用,当用户在“编辑”对话框上单击“确定”时调用此调用。该对话框包含一个文本框,用户应使用该文本框编辑webform上段落部分的内容。

//Example of my real call
function testService(test) {
var person = {};
person.ID = 1;
person.name = "Albert";
$.ajax({
    type: "POST",
    url: "WebService1.asmx/HelloWorld",
    dataType: "json",
    data: "{person:" + JSON.stringify(person) + "}",
    contentType: "application/json; charset=utf-8",
    success: function (response) {

    },
    error: function(response) {
        alert(response.d);
    }
});
}
  1. 因此,用户点击网页上的编辑按钮,以编辑网络表单上的段落。
  2. 对话框打开,包含段落内容。
  3. 用户点击“确定”以提交更改。
  4. 通过jQuery ajax调用调用服务。
  5. 通过webmethod将更改提交到数据库。
  6. 问题是webform段落部分没有使用新更新的值更新,因为我没有进行客户端更新。

    问题是:使用来自数据库的新更新的字符串来刷新客户端的最佳方法是什么。我应该进行另一个Web服务调用以从DB获取值吗?我知道这可能需要很长时间而且没必要,是否有一个jQuery技巧来做到这一点?我只想刷新那个段落部分,而不是整个页面

1 个答案:

答案 0 :(得分:3)

在POST上,您应该将已更新的完整对象返回给客户端。 然后使用服务器的响应来更新网页。

有了这个approch,数据库就可以负责向对象添加一些信息,比如ID创建日期等。当POST成功时,你将在客户端上有更新的对象。