好的,所以我一直在尝试使用Tuple将多个模型传递给View,到目前为止,它的工作方式就像魅力一样。当我尝试这个时出现问题
@model Tuple<Smart_WEB.Models.Room, List<IGrouping<string, Smart_WEB.Models.Song>>, List<IGrouping<string, Smart_WEB.Models.Video>>>
描述:编译服务此请求所需的资源时发生错误。请查看以下特定错误详细信息并相应地修改源代码。
编译器错误消息:CS1003:语法错误,'&gt;'预期
来源错误:
Line 29:
Line 30:
Line 31: public class _Page_Views_Home_Index_cshtml : System.Web.Mvc.WebViewPage<Tuple<Smart_WEB.Models.Room { Line 32:
Line 33: #line hidden
如果我要提出类似的内容:
@model Tuple<Smart_WEB.Models.Room, List<IGrouping<string, Smart_WEB.Models.Video>>>
或者
@model Tuple<Smart_WEB.Models.Room, List<IGrouping<string, Smart_WEB.Models.Song>>>
和各自的服务器端代码完美配合。
提前感谢能帮助我的人;我即将放弃这个问题。
答案 0 :(得分:2)
由于您基本上在视图中传递了多个模型,并且MVC旨在将一种类型传递给一个视图,因此我强烈建议您创建一个包装所有实体的模型:
public class ViewModel
{
public Smart_WEB.Models.Room Room { get; set; }
public List<IGrouping<string, Smart_WEB.Models.Song>> Songs { get; set; }
List<IGrouping<string, Smart_WEB.Models.Video>> Videos { get; set; }
}
然后您可以在视图中将其设置为模型:
@model ViewModel