我正在尝试调用此方法:
RenderPartialExtensions.RenderPartial Method (HtmlHelper, String, Object, ViewDataDictionary)
http://msdn.microsoft.com/en-us/library/dd470561.aspx
但是我看不到任何在表达式中构造ViewDataDictionary的方法,比如:
<% Html.RenderPartial("BlogPost", Post, new { ForPrinting = True }) %>
你知道怎么做吗?
发布于 2010-11-04 16:53:35
这对我很有效:
<% Html.RenderPartial("BlogPost", Model, new ViewDataDictionary{ {"ForPrinting", "true"} });%>
发布于 2010-01-22 23:05:23
我已经通过以下扩展方法做到了这一点:
public static void RenderPartialWithData(this HtmlHelper htmlHelper, string partialViewName, object model, object viewData) {
var viewDataDictionary = new ViewDataDictionary();
if (viewData != null) {
foreach (PropertyDescriptor prop in TypeDescriptor.GetProperties(viewData)) {
object val = prop.GetValue(viewData);
viewDataDictionary[prop.Name] = val;
}
}
htmlHelper.RenderPartial(partialViewName, model, viewDataDictionary);
}
这样叫它:
<% Html.RenderPartialWithData("BlogPost", Post, new { ForPrinting = True }) %>
发布于 2010-01-22 21:16:16
您可以执行以下操作:
new ViewDataDictionary(new { ForPrinting = True })
因为viewdatadictionary可以在其构造函数中接受要反映的对象。
https://stackoverflow.com/questions/2117367
复制相似问题