是否有更好的方法在C#中生成HTML电子邮件(通过System.Net.Mail发送),而不是使用Stringbuilder执行以下操作:
string userName = "John Doe";
StringBuilder mailBody = new StringBuilder();
mailBody.AppendFormat("<h1>Heading Here</h1>");
mailBody.AppendFormat("Dear {0}," userName);
mailBody.AppendFormat("<br />");
mailBody.AppendFormat("<p>First part of the email body goes here</p>");
Run Code Online (Sandbox Code Playgroud)
等等等等?
我有一个Web应用程序项目.我生成了DLL并将其导入另一个项目.我实施了VirtualPathProvider.
我关注了这个网站:http://support.microsoft.com/kb/910441/en-us?spid = 8940&sid = global,一切正常,直到我添加另一个网站管理员.
site_export.master并将其Build Action更改为Embedded Resource.GetManifestResourceStream()null加载时返回site_export.master.GetManifestResourceNames()来检查site_export.masterDLL中是否存在它确实存在.它在列表中.所有名称空间都匹配.我没有在这里列出名称空间.为什么不能GetManifestResourceStream()加载我的新site_export.master?它装site.master得很好.我知道我的DLL已加载,因为我可以看到DLL中的其他文件.
我必须在我的应用程序中填写一个 excel 文件,打开、写入和关闭。
问题是文件包含很多格式和宏(是公司模板),我意识到从 C# 重新生成将非常困难,最重要的是,要维护。
所以我用十六进制编辑器打开了excel模板,将所有字节作为数组
namespace myapp
{
public static class ReviewTemplate // exported with HXD
{
public static string name = "AS-04522-EN";
public static byte[] rawData = {
0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3E, 0x00, 0x03, 0x00, 0xFE, 0xFF, 0x09, 0x00, 0x06, 0x00, 0x00, 0x00,
...
...
...
}
}
Run Code Online (Sandbox Code Playgroud)
然后,像这样从 C# 生成
File.WriteAllBytes(ReviewTemplate.name + DateTime.Now.ToString("_dd_MM_yyyy_HH_mm_ss") + ".xls", …Run Code Online (Sandbox Code Playgroud)