0
我想編寫一個Web Api控制器操作,根據結果發送一封電子郵件。我想使用MVC視圖或部分視圖以及數據模型來呈現電子郵件的正文。Web Api控制器可以將視圖呈現爲字符串嗎?
有沒有辦法做到這一點?
我想是這樣的:
public class NotificationApiController : ApiController
{
private IMkpContext db;
public string ViewNotifications()
{
var dataModel = GetDataModel();
if (dataModel != null)
{
SendEmail(dataModel.ToAddress, dataModel.FromAddress, dataModel.Subject, RenderBody("viewName", dataModel);
}
return string.Empty;
}
}
凡RenderBody會擡頭看的viewName,從數據模型填充數據,並渲染視圖作爲字符串。
我一般用RazorEngine庫來渲染自己的看法,並使用該爲我的電子郵件。它具有額外的好處,允許您將您的視圖聲明爲強類型。 http://antaris.github.io/RazorEngine/ –
爲了同一目的,我使用Postal。 https://www.nuget.org/packages/Postal.Mvc5/ –