首页 新闻 搜索 专区 学院

关于发送邮件的时候内容为HTML页面的问题

0
悬赏园豆:15 [已解决问题] 解决于 2013-09-18 16:40

需求是这样的:使用asp.net给客人发送邮件,发是能发过去,但是发的内容是一个HTML的页面,而内容是在后台拼出来的,

当然我已经将""改为了'';但是还是报这样的错误,根本编译不过去,只有一直回车一直回车,让这些代码成为一行的时候才不报错。但是我的正式的发送HTML的页面又有差不多300行呢,一直这么回车很麻烦啊,所以小弟想的肯定还有简单的办法,望各位大神不吝赐教啊!多谢!

lin714115的主页 lin714115 | 初学一级 | 园豆:35
提问于:2013-09-13 16:17
< >
分享
最佳答案
0

首先,dudu的方式没错。

不过,我建议你将该页面存储为一个完整的html。是变量的的地方用{Id},{Name},{其他属性}替代。

在cs中,通过读取文件为string,然后用string.Replace("{Id}","真实Id").Replace("{Name}","真实Name")

这样的方式去实现。

收获园豆:10
幻天芒 | 高人七级 |园豆:36662 | 2013-09-13 16:40

我现在把这个发过去之后,不管是QQ还是163接受之后打开的样子都不一样了,样式有点对,有的错。

不是CSS引用的问题,因为我复制这段代码在一个HTML格式的文件中打开后都是可以的,为什么啊,

是不是QQ或者163本身页面的样式把我的样式弄乱了,而且该怎么办啊!

lin714115 | 园豆:35 (初学一级) | 2013-09-13 16:49

@lin714115: 你查看先邮件中具体的样式呗。

幻天芒 | 园豆:36662 (高人七级) | 2013-09-13 22:05
其他回答(3)
0

字符串前面加上@

string body = @"..
...";
收获园豆:5
dudu | 园豆:38273 (高人七级) | 2013-09-13 16:21

那要是想像这样要在传的工程中绑定个值呢?

还有总感觉自己的方法不正规,又没什么正规的办法啊!

支持(0) 反对(0) lin714115 | 园豆:35 (初学一级) | 2013-09-13 16:34

@lin714115: 建议使用RazorEngine,参考博文:.NET Mvc Razor也可以这样玩!

支持(0) 反对(0) dudu | 园豆:38273 (高人七级) | 2013-09-13 17:04
0

 string val = string.Format(@"strings {0} strings {1} ... anything strings {n}", 变量1, 变量2, 变量n);

Albert Fei | 园豆:2102 (老鸟四级) | 2013-09-13 16:40
0

要不你用stringbuilder拼接。http://www.cnblogs.com/QLJ1314/-本人曾写过

妍珊 | 园豆:1169 (小虾三级) | 2013-09-13 17:09

你确定这样可以吗?首先这个页面必须是HTML的,不能有asp.net的标签,

而且我想我知道什么问题了,这个内容不能出现<!DOCTYPE ,<head><body>的标签,因为QQ或者163 的页面加载你的页面的时候也是一个HTML页面,一个页面怎么能有两个这种标签呢,所以只能是出现    <table <tr>这样的标签

支持(0) 反对(0) lin714115 | 园豆:35 (初学一级) | 2013-09-13 17:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册