ASP.Net MVC, RenderPartial к строке с данными ViewModel - PullRequest
1 голос
/ 22 апреля 2011

Я пытаюсь визуализировать частичное представление строки из контроллера. Я использую следующее, которое работает хорошо:

    StringBuilder ViewBuilder = new StringBuilder();
    using (StringWriter ViewWriter = new StringWriter(ViewBuilder))
    {
        ViewEngineResult ViewResult = ViewEngines.Engines.FindPartialView(PageController.ControllerContext, controlName);
        ViewContext ViewContext = new ViewContext(PageController.ControllerContext, ViewResult.View, PageController.ViewData, PageController.TempData, ViewWriter);
        ViewResult.View.Render(ViewContext, ViewWriter);
    }
    return ViewBuilder.ToString();

Ссылка: http://craftycodeblog.com/2010/05/15/asp-net-mvc-render-partial-view-to-string/

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

Спасибо


Редактировать

Оказывается, я искал не в том месте. Мне удалось установить его с помощью ViewDataDictionary, см. Ниже:

ViewDataDictionary ViewData = new ViewDataDictionary();
ViewData.Model = GetModelState();

Ответы [ 2 ]

0 голосов
/ 26 апреля 2011

Посмотрите на это. http://blog.learningdds.com/?p=87

Это метод расширения для контроллера, который отображает HTML-код в View / PartialView в строку.

Код для этого здесь: http://learningdds.com/public/ControllerExtension.cs

Он основан на блоге, на который вы ссылались выше.

0 голосов
/ 22 апреля 2011

Я думаю, что Model является свойством View или ViewContext.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...