C# MVC:传入字典的模型项的类型为System.Int32
我试图进入视图时出错。我尝试过不使用IEnumerable,但效果不太好 错误: MVC:传递到字典的模型项的类型为System.Int32,而此字典需要类型为model元素System.Collections.Generic.IEnumerable`1[Cinema.Models.Video]C# MVC:传入字典的模型项的类型为System.Int32,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,我试图进入视图时出错。我尝试过不使用IEnumerable,但效果不太好 错误: MVC:传递到字典的模型项的类型为System.Int32,而此字典需要类型为model元素System.Collections.Generic.IEnumerable`1[Cinema.Models.Video] @model IEnumerable<Cinema.Models.Video> @{ Layout = "~/Views/Shared/_Layout.cshtml"; } 我的搜
@model IEnumerable<Cinema.Models.Video>
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
我的搜索视频
public virtual ObjectResult<Video_SearchVideo_Result1> Video_SearchVideo(string videoName)
{
var videoNameParameter = videoName != null ?
new ObjectParameter("VideoName", videoName) :
new ObjectParameter("VideoName", typeof(string));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<Video_SearchVideo_Result1>("Video_SearchVideo", videoNameParameter);
}
public virtual int SearchVideo(string videoName)
{
var videoNameParameter = videoName != null ?
new ObjectParameter("VideoName", videoName) :
new ObjectParameter("VideoName", typeof(string));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("SearchVideo", videoNameParameter);
}
公共虚拟对象结果视频\u搜索视频(字符串videoName)
{
var videoNameParameter=videoName!=null?
新的ObjectParameter(“VideoName”,VideoName):
新的ObjectParameter(“VideoName”,typeof(string));
返回((IObjectContextAdapter)this.ObjectContext.ExecuteFunction(“视频搜索视频”,videoNameParameter);
}
公共虚拟整数搜索视频(字符串videoName)
{
var videoNameParameter=videoName!=null?
新的ObjectParameter(“VideoName”,VideoName):
新的ObjectParameter(“VideoName”,typeof(string));
返回((IObjectContextAdapter)this.ObjectContext.ExecuteFunction(“SearchVideo”,videoNameParameter);
}
SearchVideo
根据您的代码返回一个int
:
public virtual int SearchVideo(string videoName)
您需要更改该函数以返回IEnumerable
最简单的方法可能是使用LINQ,而不是调用存储过程。但是如果您确实想保留存储过程,您可以将其配置为返回您的存储过程。请显示更新问题,并将ECinema.Models.Video model
int SearchVideo
传递给视图返回视图(db.SearchVideo(VideoName))
它期望@model IEnumerable
,正如错误消息所述。您需要将返回到的内容与它(视图)期望接收的内容相匹配,但我的视图中有@model IEnumerable,它会在稍后工作,谢谢
public virtual int SearchVideo(string videoName)