如何在MVC中通过电子邮件发送发票
这是我的代码,用于发送邮件,但我希望通过邮件发送我的发票视图。如何在MVC中通过电子邮件发送发票
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);
如何通过邮件发送发票视图?
其实你不能通过电子邮件发送视图。您需要将视图转换为原始html,然后解析messagebody处的html。
其实你可以很难 –
我想在邮件中附上我的主视图,有没有办法做到这一点? –
如果您使用剃刀的观点 - 我认为像这样可以帮助你实现你的目标:
//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;
我想在邮件中附加我的主视图,有没有办法做到这一点? –
您可以将参数传递给Razor视图和很容易生成动态内容
这方法是由我来转换Razor视图为HTML
https://stackoverflow.com/a/38322783/5237614
它很容易产生和风格的HTML,非常容易测试也
我想在邮件中添加我的主视图,有没有办法做到这一点? –
@aparnasharma都是一样的,你最后得到的是html,你可以把它作为邮件发送 –
通常,您需要将消息的内容分配给_msg.Body属性。你提到的“发票视图”具体是什么?这是一个原始文本或HTML或文件?或者它是一个MVC视图? – suwik
它只有一个MVC视图 –
我想通过_msg.Body发送发票,但我如何传递视图? –