2013-11-21 1 views
1

여기에 정보를 묻는 중입니다. 관련 질문과 같이 보입니다. 아이디어를 얻는 방법이 없습니다. 도와주세요.MVC4 : html로 저장하고 이메일로 보내십시오.

문제점 : html 첨부 파일이있는 이메일을 보내야합니다.

이메일 보내기 부분은 APT의 일부로 처리되지만 문제는 html 첨부입니다.

요구 사항 : UI에 표시되는 현재보기를 HTML 파일로 보내야합니다.

보기에서 컨트롤러의 전체 HTML을 어떻게 얻을 수 있습니까?

Attachment = new AttachmentContract 
      { 
       Path = AppSettings.NoticeAttachmentFilePath, 
       FileName = "filenamehtml", 
       Content = <<here we want to set that html>> 
      } 
+0

은 아마도 통합하고있는 중이 야 무엇입니까 RazorEngine은 당신을 도울 수 있습니다 : http://www.nuget.org/packages/RazorEngine – Silvermind

답변

0

여기에 다른 질문의 도움으로 솔루션 사람을 찾을 내가

Attachment = new AttachmentContract 
     { 
      Path = AppSettings.NoticeAttachmentFilePath, 
      FileName = "filenamehtml", 
      Content = testmethod() 
     } 

private string TestMethod(ModelData modelData) 
    { 

     ViewData.Model = modelData; 
     StringWriter output; 
     using (output = new StringWriter()) 
     { 
      var result = ViewEngines.Engines.FindView(this.ControllerContext, "EmailAttachment", null); 
      var viewContext = new ViewContext(this.ControllerContext, result.View, this.ViewData, this.ControllerContext.Controller.TempData, output); 
      result.View.Render(viewContext, output); 
      result.ViewEngine.ReleaseView(this.ControllerContext, result.View); 
     } 

     return output.ToString(); 
    } 

Where EmailAttachment is a view i am going to fill in my logic using the same model 
0

이 같은 것을 사용하여 시도해 볼 수도 있습니다 :

https://github.com/smsohan/MvcMailer

+0

우리는 이미 이메일을 보내기위한 API를 가지고 있습니다. 그래서 컨트롤러에서 html로 현재보기를 얻을 수있는 MVC 방법을 찾고 그래서 우리는 위에서 언급 한대로 콘텐츠를 설정할 수 있습니다. – fireholster

관련 문제