【问题标题】:Populating HTML div using PageMethods/AJAX使用 PageMethods/AJAX 填充 HTML div
【发布时间】:2014-09-14 09:28:58
【问题描述】:

我的问题有点奇怪。当然,在我写到这里之前,我检查了很多例子。

我在 aspx 有一个 div 元素,我正在发送带有 AJAX 的 Post 来填充它

<script>
     function send(inputa, inputb) {

         var dataString = JSON.stringify({
             Id: inputa,
             Opt: inputb                 
         });

         $.ajax({
             type: "POST",
             url: "my.aspx/Myfunction",
             data: dataString,
             contentType: "application/json; charset=utf-8",
             dataType: "json",
             success: function (result) {
                 alert(result.d);
                 $("divtable").val(result.d);
             },
             error: function () {
                 alert("Problem Occured");
             }
         });
     }
</script>

警报时,我可以看到我的响应很好,没有问题,但我无法将它发送到我的 div 元素。我尝试了很多脚本

 $("divtable").val(result.d);    
 $("#divtable").val(result.d);    
 $("divtable").html(result.d);    
 $(.divtable).val(result.d);

我没能成功。每次搜索我都会找到不同的答案。 请有这方面的高手给我们正确的答案。

【问题讨论】:

    标签: javascript jquery .net ajax


    【解决方案1】:

    您不能在 div 上调用 val(),因为它不是输入、选择等。如果您不插入标记,您可能不应该使用 html()。尝试 text() 代替。

    另外,您的选择器可能不正确:您可以发布您的 div HTML 吗?

    【讨论】:

    • 然后使用 $("#divtable").text(result.d)。但是您还需要在您的 div 中包含 ClientIDMode="Static",因为您已使用 'runat' 属性将其设置为“服务器元素”。 Asp.Net 将自动更改其客户端 ID,否则将使用控件的层次结构。
    • 好消息现在已打印,但问题是旧数据也保留在页面中。因为旧的数据 id 已更改 asp.net 它不再觉得只有一个 div。如此奇怪和不友好。
    【解决方案2】:

    试试

    document.getElementById("divtable").innerHTML = result.d
    

    $("#divtable").html(result.d);
    

    您不能将 val 与 div 一起使用,但您可以使用 innerHtml 或 Jquery 的 html,但可以使用有效的选择器,例如 id "#divtable" 或类 ".divtable",不确定您的 html 是什么样子 :)

    JSFIDDLE;

    【讨论】:

    • text() 也不起作用 $("#divtable").text(result.d);
    • 如果我没有看到你的 divtable 的 html,我不知道你使用的是 id 还是 class 你能告诉我吗?如果您使用的是 JQuery,我并没有说无论如何只使用 html :) 或 innerHTML :)
    • 好吧,我发现了问题,asp.net 正在链接 div 的 id。但问题是现在我可以填充我的 div 标签,但旧数据也会保留在那里。我的问题是我的 div 有 runat=server
      因为我用 sb.Builder 和数据库中的值填充我的表。现在,如果您能提供帮助,那就太好了。如果他们不一起工作,我应该把所有东西都转成 javascript 吗??
    • 是的,但第一个旧数据来自 aspx.cs,而这个新数据来自 javascript。但是在打印新数据之前我无法清除旧数据
    • 旧数据在什么 Html 中?
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签