C# 部署到azurewebsite后,需要不同于MVC ASP.NET站点错误中传递的模型类型
当我将网站发布到azurewebsite时,我遇到了这个错误。然而,该站点在我的本地主机中运行良好。请帮忙。我在下面附上了我的代码。请容忍我-我对MVC.NET非常陌生;这是我在stackoverflow中的第一篇帖子:。我希望听到专家们的意见C# 部署到azurewebsite后,需要不同于MVC ASP.NET站点错误中传递的模型类型,c#,asp.net,asp.net-mvc,asp.net-mvc-5,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 5,当我将网站发布到azurewebsite时,我遇到了这个错误。然而,该站点在我的本地主机中运行良好。请帮忙。我在下面附上了我的代码。请容忍我-我对MVC.NET非常陌生;这是我在stackoverflow中的第一篇帖子:。我希望听到专家们的意见 System.InvalidOperationException: The model item passed into the dictionary is of type ".DataTranferObjects.FilteredViewDTO",
System.InvalidOperationException:
The model item passed into the dictionary is of type ".DataTranferObjects.FilteredViewDTO", but this dictionary requires a model item of type "System.Collections.Generic.IEnumerable`1[.DataTranferObjects.AllCountiesSuppyViewDTO]".
“我的主视图”中用于渲染局部视图的代码:
@model ****.DataTranferObjects.FilteredViewDTO
@{Html.RenderPartial("_SupplyDetailPartial", Model);}
@model ****.DataTranferObjects.FilteredViewDTO
@foreach (var item in Model.supplyViewDTO)
{
<tr>
<td>@Html.DisplayFor(modelItem => item.CountyName)</td>
<td>@Html.DisplayFor(modelItem => item.FullTime)</td>
<td>@Html.DisplayFor(modelItem => item.PartTime)</td>
<td>@Html.DisplayFor(modelItem => item.Total)</td>
</tr>
}
我正在局部视图中传递FilteredViewTo模型
我的部分观点中的代码:
@model ****.DataTranferObjects.FilteredViewDTO
@{Html.RenderPartial("_SupplyDetailPartial", Model);}
@model ****.DataTranferObjects.FilteredViewDTO
@foreach (var item in Model.supplyViewDTO)
{
<tr>
<td>@Html.DisplayFor(modelItem => item.CountyName)</td>
<td>@Html.DisplayFor(modelItem => item.FullTime)</td>
<td>@Html.DisplayFor(modelItem => item.PartTime)</td>
<td>@Html.DisplayFor(modelItem => item.Total)</td>
</tr>
}
我的控制器中返回视图的代码:
public ActionResult Main()
{
/*............*/
var allCountiesSupplyData = GetAllCountiesSupplyData();
return View("Main", "_Layout1", allCountiesSupplyData);
}
my GetAllCountriesSupplyData方法中的代码:
private FilteredViewDTO GetAllCountiesSupplyData()
{
using (var dbContext = new DbDataContext())
{
/*........*/
FilteredViewDTO fv = new FilteredViewDTO();
fv.supplyViewDTO = (List<AllCountiesSuppyViewDTO>)results.ToList();
return fv;
}
}
如果这在本地工作,但在部署时失败,可能是razor页面没有正确发布?就在昨天,我遇到了一个部署问题,因为一个文件在应该满足的时候被赋予了一个无构建操作。感谢Brendan Green的回复。我检查了构建操作,它被设置为内容,我确实通过FTP拉取了文件,看看是否有任何错误-razor文件看起来不错。我不明白为什么我在传递我的局部视图所期望的确切模型时会出现这个错误。我没有花时间去找出错误,而是创建了自己的扩展来返回部分视图所呈现的内容。在呈现扩展而不是局部视图后,它将在azurewebsite中工作。