我在aspx页面中有一个div tablePrint
。我想在我的Web服务中获取此div的所有元素。实际上我必须从我的服务发送一个有html正文的电子邮件,所以我想发送tablePrint
作为电子邮件正文。我不知道如何在我的网络服务中获取tablePrint
的元素。我怎样才能做到这一点?
<div class="pagecontent2">
<asp:Panel ID="pnl" runat="server">
<div id="tablePrint">
<div style="BORDER-BOTTOM: #dfdfdf 3px solid; PADDING-BOTTOM: 1px; MARGIN-BOTTOM: 10px; HEIGHT: 25px;">
<div style="FLOAT: left; COLOR: #007ec6; FONT-SIZE: 18px; VERTICAL-ALIGN: bottom; FONT-WEIGHT: bold; PADDING-TOP: 5px; padding-left:10px;">
<div style="float: left;">
CompanyName
</div>
<div style="float: left; padding: 5px 0 0 200px;">
</div>
</div>
<div style="TEXT-ALIGN: right; FLOAT: right">
<div style="color:gray;padding-top:8px;padding-right:5px;">Receipt</div>
</div>
<div class="clear">
</div>
</div>....
答案 0 :(得分:2)
像这样传递
JSON.stringify({'num':HTML});
您必须正确地将内容字符串化为JSON。 HTML可能包含可能产生的synatax JSON表示法无效。
var dataToSend = JSON.stringify({'num':HTML});
$.ajax({ url: "EditingTextarea.aspx/GetValue",
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: dataToSend , // pass that text to the server as a correct JSON String
success: function (msg) { alert(msg.d); },
error: function (type) { alert("ERROR!!" + type.responseText); }
});
答案 1 :(得分:0)
首先,如果你不知道ajax,放一个asp文本框,一个asp按钮和任何html按钮,放上html按钮的点击事件:
document.getElementById('TextBox1').value = document.getElementById('tablePrint').innerHTML;
aspButton.click();
然后在服务器端分配您的邮件正文部分
mailMessage.Body = TextBox1.Text;
并发送邮件。但您必须在页面中将验证设置为
ValidateRequest = "false"
并在您的Web.config文件中
<httpRuntime requestValidationMode="2.0" />
第二种方式,如果您了解ajax,请将div的innerHTML发送到服务器。为此,follow link