我正在使用VS2010,C#开发我的ASP.NET Web应用程序,我动态地创建了一个页面(使用页面上的多个服务器端和HTML控件)。现在我要通过电子邮件发送我的页面,我应该将其内容作为HTML,我怎样才能拥有我的页面HTML?当然,我有一个DIV(runat = ....),其中包含应该发送的部分,我如何获得它的HTML内容? innerHTML
给我不是字面错误,我有什么选择?我希望有我的DIV的最终呈现的内容在ASP.NET中查找DIV HTML
感谢
我正在使用VS2010,C#开发我的ASP.NET Web应用程序,我动态地创建了一个页面(使用页面上的多个服务器端和HTML控件)。现在我要通过电子邮件发送我的页面,我应该将其内容作为HTML,我怎样才能拥有我的页面HTML?当然,我有一个DIV(runat = ....),其中包含应该发送的部分,我如何获得它的HTML内容? innerHTML
给我不是字面错误,我有什么选择?我希望有我的DIV的最终呈现的内容在ASP.NET中查找DIV HTML
感谢
您可以使用类似下面的渲染代码的Web表单控件:
var control = new Control();
StringBuilder b = new StringBuilder();
HtmlTextWriter writer = new HtmlTextWriter(new System.IO.StringWriter(b));
control.RenderControl(writer);
return b.ToString();
注:也有呈现另一种方法整个页面可能比已经提出的要容易一些:
var writer = new StringWriter();
HttpContext.Current.Server.Execute(url, writer);
string output = writer.GetStringBuilder().ToString();
你可能想尝试简单地下载页面作为字符串使用WebClient。
var wc = new WebClient();
string url = Request.Url.AbsoluteUri; // for the current page, otherwise set the URL
string html = wc.DownloadString(url);
不知道,如果你是知道的,但HTML电子邮件是一个棘手的问题(电子邮件客户端都像很糟糕的浏览器,您可以只使用基本的标记和CSS)。我建议查看HTML Email Boilerplate以获取关于此的一些提示和最佳实践。
谢谢,那我怎么能有我的DIV内容? –
谢谢,我怎样才能呈现我的DIV的HTML? –
以及如果你的div有一个'runat =“server”'标签,这意味着你可以在你的代码隐藏中访问它...所以只需用你的DIV代替我的代码中的'var control'对象 –
我有下面的错误:类型'ImageButton'的控件'imgFa'必须放置在runat = server的表单标签中。 –