首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RenderPartial和ViewBag

RenderPartial和ViewBag
EN

Stack Overflow用户
提问于 2013-06-25 23:06:03
回答 2查看 9.7K关注 0票数 4

我正在尝试修改这段代码:http://www.codeproject.com/Articles/260470/PDF-reporting-using-ASP-NET-MVC3来获取ViewBag数据,以便在PDF中呈现视图。

基本上,我需要向Html.RenderPartial传递一个新的上下文我的ViewBag,现在的代码是:

代码语言:javascript
复制
Html.RenderPartial(viewName, model);

我试着把它改成这样:

代码语言:javascript
复制
Html.RenderPartial(viewName, model, new ViewDataDictionary(ViewBag));

我没有得到任何错误,但字典保持为空。

BR

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-25 23:27:31

请尝试传入ViewData属性,而不是ViewBag

代码语言:javascript
复制
Html.RenderPartial(viewName, model, new ViewDataDictionary(ViewData));

ViewBag属性是一个动态对象,因此您要调用的ViewDataDictionary构造函数是接受object的构造函数。最好使用接受已经填充的ViewDataDictionary的方法。ViewBag和ViewData中的数据是相同的。

票数 13
EN

Stack Overflow用户

发布于 2013-06-25 23:13:27

您可以使用:

代码语言:javascript
复制
@Html.Partial(viewName)

在局部视图中,可以访问主视图中的部分视图。

好的。如果您需要将html从局部视图呈现为pdf,您可以使用以下代码:

代码语言:javascript
复制
@{
    var htmlString = Html.Partial(viewName);    
    var pdfData = PdfComposerClass.CreatePdfStaticMethod(htmlString);   
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17300950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档