それで、私は彼らがいたページ(レシートページ)のdiv要素の内容で満たされた電子メールを送っています。領収書ページ内では、cssスタイルが適切に表示されます。ただし、オブジェクトを電子メールで送信すると、スタイリングが消えてしまうようです。これは別のページにあり、ヘッダー内のフォームと呼ばれます(通常どおり)。なぜこれが起こっているのかは理解できますが(レンダリングするHTMLを送信し、cssスタイルにアクセスしない)、解決方法がわかりません。
だから私の質問は、cssスタイルを失うことなくこのdiv要素を送信するにはどうすればよいですか?
参考までに私のコードは次のとおりです。
StringWriter sw = new StringWriter( );
HtmlTextWriter w = new HtmlTextWriter( sw );
invoice.RenderControl( w ); //invoice is the div id of the element i am sending to email
string s = sw.GetStringBuilder( ).ToString( );
MailMessage message = new MailMessage( );
message.IsBodyHtml = true;
message.To.Add( new MailAddress( Session["eMail"].ToString( ) ) );
message.To.Add( new MailAddress( "email@email.ca" ) );
message.Subject = "extra dimensional stack-overflow";
message.From = new MailAddress( "email@email.ca" );
message.Body = s;
SmtpClient emailClient = new SmtpClient( "localhost", 8025 );
System.Net.NetworkCredential SMTPUserInfo = new System.Net.NetworkCredential( "blargh", "blargh" );
emailClient.UseDefaultCredentials = false;
emailClient.Credentials = SMTPUserInfo;