0
我有一些代碼幾乎可以將actionresult轉換爲字符串。將ActionResult呈現爲字符串,將其作爲ContentResult返回
執行方法EditableItem後,它將html流響應輸出到一個stringwriter,然後我得到html並對其進行修改,然後在字符串中使用html(帶有轉義字符串)。
我的問題是,在代碼的結尾,我不能返回一個內容結果。我認爲這是因爲我搞亂了ControllerContext。我完全相信如果這是問題,但是這段代碼爲我返回一個空白的html頁面。但最後,readonlyHtmlString字符串充滿了很棒的html代碼。而渲染常規的ContentResult也不起作用。我該如何補救?
感謝
public ActionResult Readonly(long Id = 0, long id2 = 0)
{
var localWriter = new StringWriter();
var response = ControllerContext.RequestContext.HttpContext.Response;
response.Output = localWriter;
this.EditableItem(Id, id2).ExecuteResult(ControllerContext);
localWriter.Flush();
var htmlStringWithEscapes = localWriter.ToString();
var htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(htmlStringWithEscapes);
foreach (HtmlNode inputNode in htmlDoc.DocumentNode.SelectNodes("//input"))
{
//var disabledNode = inputNode.Clone();
inputNode.Attributes.Add("disabled", "disabled");
//inputNode.ParentNode.ReplaceChild(inputNode, disabledNode);
}
var readonlyHtmlString = htmlDoc.DocumentNode.OuterHtml;
//should return a readonly view at this point!!
//return Content(readonlyHtmlString, "text");
//this code doesn't work anymore either
return Content(String.Format("This is the Material Item Controller > Readonly and Id is {0} and id2 is {1}",Id, id2),"text");
}
我需要看到EditableItem操作 – 2013-03-15 17:33:50