Я хотел бы написать действие контроллера веб-Api, которое отправит электронное письмо в зависимости от результатов. Я хотел бы использовать представление MVC View или Partial с моделью данных для отображения тела письма.Может ли веб-контроллер 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, заселить его с данными DataModel и визуализации представления в виде строки.
Я обычно использую библиотеку RazorEngine, чтобы сделать свои взгляды и использовать это для моего электронные письма. Он имеет дополнительное преимущество, позволяя вам объявлять свои представления как строго типизированные. http://antaris.github.io/RazorEngine/ –
Я использую Postal для этой же цели. https://www.nuget.org/packages/Postal.Mvc5/ –