MVCMailer+;剃须刀&x2B;CSS的困境

MVCMailer+;剃须刀&x2B;CSS的困境,css,asp.net-mvc-3,razor,Css,Asp.net Mvc 3,Razor,一开始,我不是一个程序员。这很奇怪,但问题越难解决,要么我能找到答案(谷歌有人吗?),要么我能找到答案(不,真的,是谷歌)。简单的东西(我知道这是因为我知道)?我真的有麻烦了 我正在使用MVCMailer+剃须刀。我让它发送邮件(转储到c:/),一切都很好。我花了一些时间来设置邮件(我仍然在玩弄逻辑——也许是关于另一个主题的未来问题),然后我休息了一下来设计它。经过几次解释(几个小时后),我无法理解这一点 首先,我是从MVC2转换过来的(使用工具升级,页面工作,等等)。首先在我的_Layout.

一开始,我不是一个程序员。这很奇怪,但问题越难解决,要么我能找到答案(谷歌有人吗?),要么我能找到答案(不,真的,是谷歌)。简单的东西(我知道这是因为我知道)?我真的有麻烦了

我正在使用MVCMailer+剃须刀。我让它发送邮件(转储到c:/),一切都很好。我花了一些时间来设置邮件(我仍然在玩弄逻辑——也许是关于另一个主题的未来问题),然后我休息了一下来设计它。经过几次解释(几个小时后),我无法理解这一点

首先,我是从MVC2转换过来的(使用工具升级,页面工作,等等)。首先在我的_Layout.cshtml类中,我继续使用助手类引入样式表:

1)

当我调出*.cshtml生成的邮件时,没有样式。注意:我的Default.css只是导入我的所有其他.css文件(我分离出页眉/内容/页脚等)。但是,我尝试专门加载用于邮件的.css文件(Mailer.css-original,我知道)

其次,我在一些热门博客上尝试了以下内容:

2)

是的,我确实为那个助手使用了命名空间
。实际电子邮件中没有样式

最后,

3) 我将
块直接放在*.cshtml文件中

成功了

我被难住了。是MVCMailer吗?我完全错过了什么吗?我的目标不仅仅是一封文本邮件,没有什么特别的东西(页眉/内容/页脚-一些字体样式和背景色)

我会尝试使用:

 <link rel="stylesheet"
       type="text/css"
       href="@Url.Abs( Url.Content( "~/content/default.css" )" ) />


您希望使用tilde创建相对于站点根的路径。此外,URL必须是绝对的,而不是相对的。请参阅位于

的指南,这不是MvcMailer的问题。这是一个电子邮件客户端如何处理CSS文件的问题


即使您的CSS文件链接正确,大多数电子邮件客户端也只使用内联CSS。看看这个:

内联是最好的选择


我在HTML中的块方面取得了一些成功,但我不想全面依赖它。

对不起,我在第二个示例中包括了“../../Content/Default.css”,但实际上这是我最后尝试的。它最初是“~/Content/Default.css”,这是文件的实际位置。在这两种情况下,两者都不起作用。我只是保留了MVC文件夹结构,.css文件在“Content”文件夹中,而不是在子文件夹中。我还注意到您在第一个“(“和最后一个”)”之后包含了一个空格。我认为这只是一个打字错误(或是如此显示的方式),但我也会尝试一下。编辑:不,那不起作用。@REMESQ-我查看了文档,URL需要是绝对的,所以将Content方法包装在Abs方法中。注意:我没有用过这个,所以YMMV。解决方案:显然没有。事实证明,许多电子邮件客户端不会加载任何CSS。相反,我了解到,要设计电子邮件的样式,必须以内联方式进行。因此,上面的第3条(放置一个块)似乎是唯一的选择。谢谢你的帮助。