Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在代码隐藏中获取div及其孩子,并在不丢失样式的情况下将其发送出去_C#_Asp.net_Html_Html Email - Fatal编程技术网

C# 在代码隐藏中获取div及其孩子,并在不丢失样式的情况下将其发送出去

C# 在代码隐藏中获取div及其孩子,并在不丢失样式的情况下将其发送出去,c#,asp.net,html,html-email,C#,Asp.net,Html,Html Email,我有一个带有此正文的.aspx页面: <form id="form1" runat="server"> <%= this.OutputHtml %> <CKEditor:CKEditorControl ID="CKEditor1" BasePath="/ckeditor/" runat="server" StylesSet="width: 0px; height: 0px;"></CKEditor:CKEditorContro

我有一个带有此正文的.aspx页面:

<form id="form1" runat="server">
        <%= this.OutputHtml  %>

    <CKEditor:CKEditorControl ID="CKEditor1" BasePath="/ckeditor/" runat="server" StylesSet="width: 0px; height: 0px;"></CKEditor:CKEditorControl>

    <asp:TextBox ID="MessageBuffer" runat="server" Text="" />

    <input type="button" id="Prepare_Mail" name="Prepare_Mail" runat="server" value="Prepare Mail" />
    <asp:Button ID="SendMail" runat="server" Text="Send Test Mail" OnClick="SendMail_Click" />

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
        $( '#Prepare_Mail' ).click(function() {
            alert( "Handler for .ckicl() called." );
            $('#MessageBuffer').val($('#nl'));
        });
    </script>
</form>
我正在尝试访问ID为“nl”的DIV框,它是我的模板文件中的主容器。您会在第一个代码框的底部看到一个小脚本,但它不起作用。我不知道为什么,但脚本甚至没有在“准备邮件”的按钮点击启动

至于我是asp的新手,我不知道怎么做:

  • 在代码隐藏的字符串变量中获取div“nl”及其所有子内容
  • 通过电子邮件发送(发送邮件不是问题,但保留样式才是问题)

我希望我已经提供了足够的信息来帮助你解决这个问题。谢谢

如果您想要div的完整内容,请在de div中添加runat=“server”属性,请确保ID属性键入了大写字母。像这样:

    protected void Page_Load(object sender, EventArgs e)
    {
        StreamReader sr = new StreamReader(Server.MapPath("~/TextFiles/template2.txt"));
        String OutputHtml = sr.ReadToEnd();
        sr.Close();
    }
<div ID="NL" runat="server">
保持这种风格是个问题。您无法发送CSS文件,因此必须使用内联CSS。并非所有内容都受支持,请看以下内容:


看看你能做些什么。

你必须使用内联Css才能为你工作。你不能发送Css文件,因为我记得

是的,我已经在template2.txt文件中复制了我的样式,并删除了我的style.Css。我在NL的开头这样添加了它们:
CSS规则这里
EDIT:runat=“server”解决方案不起作用,因为div在livecycle的开头不存在。它被加载到页面加载事件中,就像上面的代码片段一样。
string divContent = NL.innerHtml