我正在使用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的表單標籤中。 –