我正在尝试从控制器内渲染字符串的局部视图。我正在使用以下哪个效果很好:
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();
答案 0 :(得分:0)
我认为Model是View或ViewContext的属性。
答案 1 :(得分:-1)
看看这个。 http://blog.learningdds.com/?p=87
这是控制器的扩展方法,它将View / PartialView中的HTML呈现为String。
它的代码在这里:http://learningdds.com/public/ControllerExtension.cs
它基于您在上面提到的博客。