Выдайте ActionResult для строки, верните ее как ContentResult

asp.net-mvc-3 c# html-agility-pack

Вопрос

У меня есть код, который почти работает для преобразования actionresult в строку.

После выполнения метода EditableItem он выводит ответ потока html на stringwriter, а затем я получаю html и изменяю его, а затем у меня есть html в строке (с escape-charachters).

Моя проблема в том, что в конце кода я не могу вернуть результат. Я предполагаю, что это потому, что я возился с 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");

    }

Популярные ответы

Я не уверен, почему он не работал, поэтому я отказался от кода в пользу методов, используемых здесь ...

Отметьте действие MVC3 для строки из метода службы WCF REST



Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow