如何使用c#(其中包含另一个服务器端控件)获取服务器端元素的innerhtml

如何使用c#(其中包含另一个服务器端控件)获取服务器端元素的innerhtml,c#,asp.net,html,email,C#,Asp.net,Html,Email,如何使用c#(其中包含另一个服务器端控件)获取服务器端元素的innerhtml? 或者,使用visual studio 2010设计电子邮件正文的最佳方法是什么? 我有一些c#代码用于发送电子邮件…(支持html正文) 所以,我正在寻找一种方法,为景观的硬编码html身体 因此在设计模式下制作了一个服务器端div: <div runat="server" id="MainDiv" style="direction: rtl; font: 12px tahoma,arial,sans

如何使用c#(其中包含另一个服务器端控件)获取服务器端元素的innerhtml?
或者,使用visual studio 2010设计电子邮件正文的最佳方法是什么?
我有一些c#代码用于发送电子邮件…(支持html正文)
所以,我正在寻找一种方法,为景观的硬编码html身体
因此在设计模式下制作了一个服务器端div:

    <div runat="server" id="MainDiv" style="direction: rtl; font: 12px tahoma,arial,sans-serif; width: 700px;
        background-color: #f5f5ff; border: 2px solid #003366;">
        <div id="Header" style="width: 690px; background-color: #637eb0; height: 40px; margin: 5px auto;
            position: relative;">
            <img src="Images/logo.png" alt="logo" title="soscharge" style="width: 200px; position: absolute;
                top: 4px; left: 10px;" />
            <span style="color: #69fbfd; font: bold 13px tahoma,arial,sans-serif; position: absolute;
                top: 11px; right: 10px;">hi ...</span>
        </div>
        <div id="Content" style="padding: 10px 10px;">
            <ul style="margin:0px;padding:0px 10px 10px 10px;">
                <li>
                title1 : ---
                 </li>
                <li>
                    title 2 : 
                    <asp:Label ID="lblOredr_Id" runat="server" Text="---" ForeColor="Red"></asp:Label>
                </li>
            </ul>
            <br />
            <p style="text-align: center;color:#fd00dc;">
                bla bla</p>
        </div>
    </div>
错误:

无法获取MainDiv的内部内容,因为内容不完整 文字

另外,我在MainDiv中有一个服务器端表,我想动态地向该表添加一些数据。
在这种情况下,如何获取电子邮件正文的html?

提前感谢

您不能在div上调用InnerHtml,除非其内容是文本的(即,其中不包含服务器控件)。但您可以通过执行以下操作将其强制渲染为字符串:

var sb = new StringBuilder();
mainDiv.RenderControl(new HtmlTextWriter(new StringWriter(sb)));

string s = sb.ToString();

但还是?如何获取该控件的
innerHTML
?与去掉字符串中的文本以获得
innerHTML
相反,有什么方法可以做到这一点吗?
var sb = new StringBuilder();
mainDiv.RenderControl(new HtmlTextWriter(new StringWriter(sb)));

string s = sb.ToString();