相关疑难解决方法(0)

在C#中嵌套使用语句

我正在做一个项目.我必须比较两个文件的内容,看看它们是否精确匹配.

在进行大量错误检查和验证之前,我的初稿是:

  DirectoryInfo di = new DirectoryInfo(Environment.CurrentDirectory + "\\TestArea\\");
  FileInfo[] files = di.GetFiles(filename + ".*");

  FileInfo outputFile = files.Where(f => f.Extension == ".out").Single<FileInfo>();
  FileInfo expectedFile = files.Where(f => f.Extension == ".exp").Single <FileInfo>();

  using (StreamReader outFile = new StreamReader(outputFile.OpenRead()))
  {
    using (StreamReader expFile = new StreamReader(expectedFile.OpenRead()))
    {
      while (!(outFile.EndOfStream || expFile.EndOfStream))
      {
        if (outFile.ReadLine() != expFile.ReadLine())
        {
          return false;
        }
      }
      return (outFile.EndOfStream && expFile.EndOfStream);
    }
  }
Run Code Online (Sandbox Code Playgroud)

有嵌套using语句似乎有点奇怪.

有一个更好的方法吗?

.net c# using file

297
推荐指数
13
解决办法
8万
查看次数

我可以使用ASP.NET设置HTML /电子邮件模板吗?

我正在开发一个会发送大量电子邮件的网站.我想设置页眉和页脚文本,甚至是模板,以便用户在需要时轻松编辑这些电子邮件.

如果我将HTML嵌入到C#字符串文字中,那就很难看了,他们不得不担心转义.包括页眉和页脚的平面文件可能会起作用,但关于它的一些东西感觉不对.

什么是理想的.ASPX是以某种方式使用页面作为模板,然后告诉我的代码服务该页面,并使用为电子邮件返回的HTML.

有这么好的方法吗?有没有更好的方法来解决这个问题?

更新:
我添加了一个答案,使您可以使用标准的.aspx页面作为电子邮件模板.只需像通常那样替换所有变量,使用数据绑定等.然后只需捕获页面的输出,瞧!你有HTML电子邮件!

更新
了CAVEAT !!!:我在一些aspx页面上使用MailDefinition类就好了,但是当在运行的服务器进程中尝试使用这个类时,它失败了.我相信这是因为MailDefinition.CreateMailMessage()方法需要一个有效的控件来引用,即使它并不总是做某事.因此,我建议使用aspx页面的方法,或使用ascx页面的Mun方法,这看起来好一点.

c# asp.net email templates

94
推荐指数
7
解决办法
13万
查看次数

如何发送电子邮件和电子邮件模板c#

假设我需要通过客户详细信息和订单详细信息向客户发送邮件.我在html文件中有模板html数据.客户数据存在,并且订单详细信息也存在于同一个html模板文件中.我的HTML看起来像

<html>
<body>
Hi {FirstName} {LastName},

Here are your orders: 
{foreach Orders}
    Order ID {OrderID} Quantity : {Qty} <strong>{Price}</strong>. 
{end}

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

现在我想用{}填充所有带有实际值的示例关键字,并迭代并填写订单.

我搜索谷歌,发现微软提供了一个名为MailDefinition的类, 通过它我们可以动态生成邮件正文.我有一个示例代码也喜欢

MailDefinition md = new MailDefinition();
md.From = "test@domain.com";
md.IsBodyHtml = true;
md.Subject = "Test of MailDefinition";

ListDictionary replacements = new ListDictionary();
replacements.Add("<%Name%>", "Martin");
replacements.Add("<%Country%>", "Denmark");

string body = "
Hello <%Name%> You're from <%Country%>.";


MailMessage msg = md.CreateMailMessage("you@anywhere.com", replacements, body, new    System.Web.UI.Control());
Run Code Online (Sandbox Code Playgroud)

通过上面的代码,我们可以用实际值替换伪值,但我不知道如何迭代Orders详细信息并填充订单数据.

所以,如果可以使用MailDefinition类,那么请指导我如何迭代循环并生成订单详细信息的代码.

c# email-templates

23
推荐指数
1
解决办法
4万
查看次数

MailMessage c# - 如何使其成为HTML并添加图像等?

string to = "email@hotmail.co.uk";
 string body = "Test";
 SmtpClient SMTPServer = new SmtpClient("127.0.0.1");
 MailMessage mailObj = new MailMessage(urEmail, to, subject, body);
 SMTPServer.Send(mailObj);
Run Code Online (Sandbox Code Playgroud)

这就是我目前发送测试电子邮件的方式.我如何制作这个HTML并能够通过添加图像等使发送的电子邮件看起来更好?

谢谢

html c# asp.net mailmessage

20
推荐指数
2
解决办法
2万
查看次数

使用asp.net发送邮件和嵌入式图像

使用asp.net发送邮件和嵌入式图像

我已经使用了以下但它无法正常工作

Dim EM As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage(txtFrom.Text, txtTo.Text)
        Dim A As System.Net.Mail.Attachment = New System.Net.Mail.Attachment(txtImagePath.Text)
        Dim RGen As Random = New Random()
        A.ContentId = RGen.Next(100000, 9999999).ToString()
        EM.Attachments.Add(A)
        EM.Subject = txtSubject.Text
        EM.Body = "<body>" + txtBody.Text + "<br><img src='cid:" + A.ContentId +"'></body>"
        EM.IsBodyHtml = True
        Dim SC As System.Net.Mail.SmtpClient = New System.Net.Mail.SmtpClient(txtSMTPServer.Text)
        SC.Send(EM)
Run Code Online (Sandbox Code Playgroud)

c# asp.net

16
推荐指数
2
解决办法
3万
查看次数

清单资源的资源名称是什么(Assembly.GetManifestResourceStream)?

我在ASP.NET MVC应用程序中嵌入了一个资源(一个XSD文件).现在,我想从代码中检索此文件.

查看文档Assembly.GetManifestResourceStream(),它需要一个字符串参数,即"请求清单资源的区分大小写的名称".

好吧,我发现它没有那么有用,当然,在MSDN上找不到任何示例.清单资源的名称是什么?它是文件的名称吗?它是文件的完整路径和名称吗?或者它是一个单独的名称,给予资源本身,如果是这样,我该如何设置该名称?

.net c# asp.net asp.net-mvc

6
推荐指数
1
解决办法
6326
查看次数

如何配置以使用 System.Web.UI

我希望使用类似于 MartinHN 在下面的帖子中提出的代码来创建 HTML 格式的 SMTP 邮件项目:SO POST

创建对正确程序集的引用时遇到问题,以便我可以使用命名空间“System.Web.UI.WebControls”。我试图添加的参考是“System.Web”,如此处建议的那样

在我的 vis 项目参考文献的 .NET 部分中,我没有 System.Web:

在此输入图像描述

如果我浏览 C 驱动器并添加 System.Web.dll 文件,则会得到以下信息:

在此输入图像描述

如何配置此项目以便能够使用 MailDefinition ?

c# visual-studio-2010

2
推荐指数
1
解决办法
2万
查看次数