在我的主網頁(稱爲index.aspx
)我叫ViewData.Model在局部是空
<%Html.RenderPartial("_PowerSearch", ViewData.Model);%>
這裏viewdata.model != null
當我到達我的部分:
<%=ViewData.Model%>
說viewdata.model == null
什麼給??
在我的主網頁(稱爲index.aspx
)我叫ViewData.Model在局部是空
<%Html.RenderPartial("_PowerSearch", ViewData.Model);%>
這裏viewdata.model != null
當我到達我的部分:
<%=ViewData.Model%>
說viewdata.model == null
什麼給??
你有沒有試過只傳入ViewData而不是ViewData.Model?這是一個刪節的版本我在我的助手使用(從店面系列無恥被盜):
/// <summary>
/// Renders a LoggingWeb user control.
/// </summary>
/// <param name="helper">Helper to extend.</param>
/// <param name="control">Type of control.</param>
/// <param name="data">ViewData to pass in.</param>
public static void RenderLoggingControl(this System.Web.Mvc.HtmlHelper helper, LoggingControls control, object data)
{
string controlName = string.Format("{0}.ascx", control);
string controlPath = string.Format("~/Controls/{0}", controlName);
string absControlPath = VirtualPathUtility.ToAbsolute(controlPath);
if (data == null)
{
helper.RenderPartial(absControlPath, helper.ViewContext.ViewData);
}
else
{
helper.RenderPartial(absControlPath, data, helper.ViewContext.ViewData);
}
}
注意,我通過在當前ViewData的,而不是模型。
這是未經測試:
<%=Html.RenderPartial("_ColorList.ascx", new ViewDataDictionary(ViewData.Model.Colors));%>
你控制視圖期待視圖數據具體到它在這種情況下。如果你的控制想要一個名爲顏色的模型上的屬性,那麼也許:
<%=Html.RenderPartial("_ColorList.ascx", new ViewDataDictionary(new { Colors = ViewData.Model.Colors }));%>
謝謝,這沒有辦法。 我轉換到beta1版本的另一個細微舉動。 – 2008-10-23 11:29:51