如何从Web服务aspx中的另一个页面获取div的所有元素

时间:2014-01-28 07:24:06

标签: html asp.net web-services

我在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>....

2 个答案:

答案 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