1
有沒有人知道我如何截取頁面的HTML並阻止它回到客戶端?在ASP.Net中攔截HTTP MVC 2
我試過以下,在一個控制器方法:
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上下文。這是否是一個可能的原因,如果是的話,是否有一個批准的方式來設置上下文,因爲該屬性是隻讀的?
我試圖通過捕獲正在創建的原始HTML並將其傳遞給第三方組件來呈現PDF頁面。包含上述代碼的控制器操作將採用原始HTML並將其轉換爲PDF,然後返回。
看起來有前途的感謝 - 我給一個去! – 2010-10-20 13:09:07