ASP.NET MVC 2中,在一个分部视图中,调用另外一个分部视图,传递Model时,有bug
分部视图1:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<string>" %>
<%
DataSet ds = BLL.GetList();//获取数据
Html.RenderPartial("~/Views/Shared/PartialControl2.ascx", ds);
%>
分部视图2(PartialControl2.ascx):
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<DataSet>" %>
在执行时,会出现错误:
传入字典的模型项的类型为“System.String”,但此字典需要类型“System.Data.DataSet”的模型项。
在ASP.NET MVC中,调用一个分部视图时,默认会将当前的Model,传递给该分部视图。
初步估计,产生错误的原因应该是在分部视图1中,调用分部视图2时,将分部视图1的Model直接传递给了分部视图2,传递给Html.RenderPartial()方法的参数没有起作用,这个应该是一个bug,先改用ViewData传递数据吧,特此标记,等有空研究一下。