C# 从模型内部获取视图HTML
我有一个名为“QuoteModel”的模型类和一个名为“SendEmail”的发送电子邮件的方法。我有一个名为“免责声明”的部分视图,它只是html(没有剃刀或模型)。有没有办法从“SendEmail”函数中以字符串形式获取视图的htmlC# 从模型内部获取视图HTML,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我有一个名为“QuoteModel”的模型类和一个名为“SendEmail”的发送电子邮件的方法。我有一个名为“免责声明”的部分视图,它只是html(没有剃刀或模型)。有没有办法从“SendEmail”函数中以字符串形式获取视图的html 我试图找到答案,但大多数答案都与从控制器内部获取html而不是模型有关。使用这个现成的函数 public string RenderRazorViewToString(string viewName, object model) {
我试图找到答案,但大多数答案都与从控制器内部获取html而不是模型有关。使用这个现成的函数
public string RenderRazorViewToString(string viewName, object model)
{
ViewData.Model = model;
using (var sw = new StringWriter())
{
var viewResult = ViewEngines.Engines.FindPartialView(ControllerContext,
viewName);
var viewContext = new ViewContext(ControllerContext, viewResult.View,
ViewData, TempData, sw);
viewResult.View.Render(viewContext, sw);
viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View);
return sw.GetStringBuilder().ToString();
}
}
并称之为
string result = RenderRazorViewToString("Disclaimer", QuoteModel);
及
请相应地进行所需的小修改使用此现成功能
public string RenderRazorViewToString(string viewName, object model)
{
ViewData.Model = model;
using (var sw = new StringWriter())
{
var viewResult = ViewEngines.Engines.FindPartialView(ControllerContext,
viewName);
var viewContext = new ViewContext(ControllerContext, viewResult.View,
ViewData, TempData, sw);
viewResult.View.Render(viewContext, sw);
viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View);
return sw.GetStringBuilder().ToString();
}
}
并称之为
string result = RenderRazorViewToString("Disclaimer", QuoteModel);
及
请相应地进行必要的小修改是否发送一封邮件,邮件正文为html视图?您好,谢谢您的回复。是的,这是正确的。你想发送一封以html作为邮件正文的电子邮件吗?嗨,谢谢你回来。是的,这是正确的,当我把它放在我的方法中时,它无法解析“RazorViewToString()调用。我一定是缺少了什么:[code]这是我的模型和方法[code]公共类QuoteModel{public void SendEmail(){string result=RazorViewToString.RenderRazorViewToString(这个“免责声明”,null);}[/code}检查更新的答案&当我在方法中放置无法解析“RazorViewToString()调用”时,请尽快告诉我结果。我一定缺少了什么:[code]这是我的模型和方法[code]公共类QuoteModel{public void sendmail(){string result=RazorViewToString.RenderRazorViewToString()(此,“免责声明”,空);}}[/code}检查更新的答案并尽快告诉我结果