ASP.Net MVC,RenderPartial与ViewModel数据字符串

时间:2011-04-21 20:51:01

标签: asp.net-mvc user-controls

我正在尝试从控制器内渲染字符串的局部视图。我正在使用以下哪个效果很好:

    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 :(得分:0)

我认为Model是View或ViewContext的属性。

答案 1 :(得分:-1)

看看这个。 http://blog.learningdds.com/?p=87

这是控制器的扩展方法,它将View / PartialView中的HTML呈现为String。

它的代码在这里:http://learningdds.com/public/ControllerExtension.cs

它基于您在上面提到的博客。