こんにちは、私はここで少し悪夢を見ています!
page.rendercontrol と htmltextwriter を使用して Web フォームを html に出力しようとしていますが、空のメールが表示されます。
コード:
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
HtmlTextWriter htmlTW = new HtmlTextWriter(sw);
page.RenderControl(htmlTW);
String content = sb.ToString();
MailMessage mail = new MailMessage();
mail.From = new MailAddress("test@test.com");
mail.To.Add("steve@test.com");
mail.IsBodyHtml = true;
mail.Subject = "Test";
mail.Body = content;
SmtpClient smtp = new SmtpClient("1111");
smtp.Send(mail);
Response.Write("Message Sent");
また、単一のテキストボックスをレンダリングして試してみたところ、フォームタグ(マスターページにある)内にある必要があるというエラーが表示されました。
私はこの修正を試みました: http://forums.asp.net/p/1016960/1368933.aspx#1368933 そして追加しました:
public override void
VerifyRenderingInServerForm(コントロール コントロール) { return; }
しかし、今私が得るエラーは次のとおりです。
VerifyRenderingInServerForm(Control)': オーバーライドする適切なメソッドが見つかりません
誰でもこれを修正できますか?髪をかきむしる!!
ありがとう、
スティーブ