以下是我发送邮件的代码,但我想通过邮件发送发票视图。
MessageDetails _msg = new MessageDetails();
_msg.Body = "Your Booking is Accepted";
string userId = null;
if (booking.BookedFor != "0")
{
userId = booking.BookedFor;
}
else
{
userId = booking.UserId;
}
var code = userName.GetUserNameById(Convert.ToInt16(userId));
_msg.Destination = new string[] { code };
_msg.Subject = "Booking Confirmed";
_service.SendEmail(_msg);
如何通过邮件发送发票视图?
答案 0 :(得分:0)
实际上您无法通过电子邮件发送视图。您需要将视图转换为原始html,然后在messagebody处解析html。
答案 1 :(得分:0)
如果您正在使用Razor视图 - 我认为这样的事情可以帮助您实现目标:
//create a view model
var path = Server.MapPath("~/Relative/Path/To/YourView.cshtml");
var fileContent = System.IO.File.ReadAllText(path);
var result = Razor.Parse(fileContent, yourViewModel);
_msg.Body = result;
答案 2 :(得分:0)
您可以将参数发送到剃须刀视图并轻松生成动态内容
我使用此方法将Razor视图转换为HTML
https://stackoverflow.com/a/38322783/5237614
它易于生成和样式html,也非常容易测试