Кто-нибудь знает, как я могу перехватить HTML-код страницы и остановить ее откат обратно клиенту?
Я пробовал следующее в методе контроллера:
var writer = new StringWriter();
var response = new HttpResponse(writer);
var context = new HttpContext(existingContext.Request, response) { User = existingContext.User };
System.Web.HttpContext.Current = context;
//The method controller method returning an ActionResult for the page I want to render
var ViewResult = ControllerMethod();
ViewResult.ExecuteResult(this.ControllerContext);
string html = writer.ToString();
Я думаю, что на этом этапе строка html должна иметь HTML-код страницы, которая была бы отображена.В нынешнем виде переменная html является пустой строкой.Я подозреваю, что это потому, что установка System.Web.HttpContext.Current не влияет на контекст HTTP контроллера.Является ли это вероятной причиной, и если да, то существует ли утвержденный способ установки контекста, учитывая, что свойство доступно только для чтения?
Я пытаюсь отобразить страницу в PDF, захватив создаваемый необработанный HTML и передаваяэто стороннему компоненту.Действие контроллера, содержащее приведенный выше код, затем возьмет необработанный HTML-код и преобразует его в PDF, а затем вернет его.