KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Is their a solution to generate an email template using an ASP.NET MVC View without having to jump through hoops. Let me elaborate jumping through hoops. var fakeContext = new HttpContext(HttpContext.Current.Request, fakeResponse); var oldContext = HttpContext.Current; HttpContext.Current = fakeContext; var html = new HtmlHelper(new ViewContext(fakeControllerContext, new FakeView(), viewDataDictionary, new TempDataDictionary()), new ViewPage()); html.RenderPartial(viewName, viewData, viewDataDictionary); HttpContext.Current = oldContext; The above code is using the current HttpContext to fake a new Context and render the page with RenderPartial, we shouldn't have to do this. Another very detailed solution using ControllerContext and .Render: ( IEmailTemplateService, Headers/Postback WorkAround ) but pretty much doing the same thing with a lot more code. I on the other hand, am looking for something that would just render a View without having to POST/GET and generates me a simple string that I can send off through my Email code. Something that doesn't run into errors such as posting headers twice or faking some piece of data. EX: //code which does not fire Render, RenderPartial... etc var email = emailFramework.Create(viewData, view); See my solution bellow or follow this link: My Solution using spark: (12/30/2009) ASP.NET MVC Email Template Solution
Tags (comma-separated)
Save Edits
Cancel