jQuery.html()与Asp.Net innerHtml不兼容

时间:2012-03-30 17:30:02

标签: c# javascript jquery asp.net html

所以基本上,我有一个div,它是runat =“server”

<div id="results" runat="server" class="results"></div>

现在,我使用jQuery为此添加HTML。

$('.results').html('Some crazy data');

但是,当我尝试使用C#访问此DIV中的数据时,它表示DIV没有内容。

string myResults = results.innerHtml;

myResults为空。

有人可以帮帮我吗?我以前从未见过这种行为。

非常感谢!

3 个答案:

答案 0 :(得分:4)

这一行看起来像C#:

string myResults = results.innerHtml;

据推测,您正试图在C#中访问服务器 -side DIV。这种情况发生在之后将html发送到浏览器。这意味着,由于您在浏览器中设置值客户端(在html已经发送之后),这根本不起作用。

答案 1 :(得分:1)

而不是混淆jQuery和Javascript。尝试

var myResults = $(".results").html();

只是为了验证所有内容是否正确,请查看您的results是否定义如下

var results = document.getElementById("results");
var myResults = results.innerHtml;

如果你试图将results的值提供给服务器,除非发送一个AJAX请求,否则无法通过jQuery或Javascript。

答案 2 :(得分:1)

您可能正在寻找类似的东西......

<div id="results" runat="server" class="results"></div>
<input type="hidden" id="hiddenResults" runat="server" class="hiddenResults" />

$('.results').html('Some crazy data');
$('.hiddenResults').val('Some crazy data');

现在您可以访问服务器上的数据

string myResults = hiddenResults.Value;