asp.net-mvc - 如何使用我的控制器通过电子邮件发送我的视图?
问题描述
我是 ASP.net MVC 的初学者,当我想用我的控制器通过电子邮件发送我的视图时遇到问题。我没有到达发送它,我只是发送一些文本
关于我已经尝试过的内容,我将向您展示代码。
(如果我的问题无法理解,请致电我,我会以不同方式解释)
// Page MailHelper.cs
// The tools for sending mail
public static void SendMail(string body)
{
try
{
var mailto = ConfigurationManager.AppSettings["mailto"].Split(';');
MailMessage mail = new MailMessage();
mail.IsBodyHtml = true;
SmtpClient SmtpServer = new SmtpClient();
mail.From = new MailAddress("SendVersionsRobot@trysomething.fr");
foreach (var m in mailto)
mail.To.Add(m);
mail.Subject = "try send Mail";
mail.Body = body;
SmtpServer.Send(mail);
}
catch (Exception ex)
{
}
}
// Page MailController.cs
using....
namespace MvcMovie.Controllers
{
public class MailController : Controller
{
public ActionResult pageDeTest()
{
MailHelper.SendMail(pageDeTest());
return View();
}
}
}
<div id="demo"></div>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script type="text/javascript">
$.getJSON("..\\..\\jsconfig.json", function (data) {
$('#demo').html(JSON.stringify(data));
});
/*console.log("try");*/
</script>
解决方案
目前我的页面 MailController.cs 已经演变成这样:
命名空间 MvcMovie.Controllers { public class MailController : Controller { public ActionResult pageDeTest() { string myString = RenderPartialViewToString(MailHelper.SendMail()); MailHelper.SendMail(myString); 返回视图();}
protected string RenderPartialViewToString(ControllerContext context, string viewName, object model)
{
var controller = context.Controller;
if (string.IsNullOrEmpty(viewName))
viewName = controller.ControllerContext.RouteData.GetRequiredString("action");
ViewData.Model = model;
using (StringWriter sw = new StringWriter())
{
ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(controller.ControllerContext, viewName);
ViewContext viewContext = new ViewContext(controller.ControllerContext, viewResult.View, ViewData, TempData, sw);
viewResult.View.Render(viewContext, sw);
return sw.GetStringBuilder().ToString();
}
}
推荐阅读
- class - 如何在类方括号之外定义类方法以提高可读性?
- c++ - 如何在封装了数据类型参数的C++中保存不同的对象?
- android - 如何将活动实例传递给服务以形成弱引用
- javascript - 使用 javascript 显示和隐藏 sidenav
- jquery - 使用 jQuery 按类拆分列表
- python - 如何获得渲染精灵图像的连续运动(pygame)
- javascript - HTML 表格:粘性列重叠标题
- ubuntu-14.04 - 来自“apt-get”的“yum”中对应的包名
- css - 将鼠标悬停在容器上时如何显示文本?
- java - 如何使用仅允许每张卡使用特定次数的 Print 语句制作纸牌游戏?