c# - 如何将预先格式化的 HTML 元素从 WebMethod 发送到 jQuery

标签 c# javascript jquery asp.net sql

标题有点解释了我正在尝试做的事情。 这样做的原因是我试图在我的 ASP.NET C# 网站上实现无限滚动。我以前用 ListView 实现了延迟滚动的“效果”控制,但这是一个使用 DataPager 的肮脏且“缓慢”的技巧和几个 HiddenFields .

我想从 WebMethod 发送一个完全预格式化的 HTML 元素至 jQuery这样我就可以将它附加到容器上 <div> .

实际上我需要在 WebMethod 中呈现的内容是容器内的一堆对象 <div>类似于 Facebook 墙。我之前拥有的是 ListView (B) 嵌套在另一个 ListView (A)。各一<ItemTemplate>来自单个 ListView 的多个 ListViewItems另一个ListView . (A) 表示墙贴和 (B) 绑定(bind)到 (A) 的主键的评论。

无论如何,我是从正确的 Angular 看待这个问题,还是应该想出一些其他的方法来做到这一点?请分享您的想法。

谢谢。

最佳答案

您可以只从您的 web 方法返回一个包含 html 的字符串,然后在“成功”功能上将其直接抽取到您页面上的 html 元素中。注意,我认为这是“html()”元素 - 或者您可以使用 .append(text);

使用 JQuery

$(document).ready(function() {
  // Add the page method call as an onclick handler for the div.
  $("#Result").click(function() {
    $.ajax({
      type: "POST",
      url: "Default.aspx/GetHTMLFormatted",
      data: "{}",
      success: function(msg) {
        // Replace the div's content with the page method's return.
        $("#Result").html(msg.d); // or .append(msg.d);
      }
    });
  });
});

不过,更好的方法是返回一个 JSON 结构并使用模板库来发出您的 html 结构。参见 http://stephenwalther.com/blog/archive/2010/11/30/an-introduction-to-jquery-templates.aspx

关于c# - 如何将预先格式化的 HTML 元素从 WebMethod 发送到 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8145336/

相关文章:

c# - T4 获取解决方案的当前工作目录

c# - 使用 Xunit 进行 .Net 核心测试

javascript - 使用 JavaScript 显示订单总计

javascript - 为什么 $resource save() 方法的成功回调没有传入响应数据?

javascript - SAPUI5:如何将点击事件绑定(bind)到水平布局?

c# - 如何检测 Windows 10 周年更新?

c# - 了解 Visual Studio 2012 负载测试中的页面响应时间(范围)值

javascript - 如何在javascript中将非常大的十六进制数转换为十进制数

javascript - 如何在插入元素时高效执行 JavaScript 函数?

javascript - 为什么我在所有 HTML 内容下方都有一大片空白区域?