C# 在代码隐藏中获取div及其孩子,并在不丢失样式的情况下将其发送出去
我有一个带有此正文的.aspx页面: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
<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