我是编程的新手,当我尝试运行程序时,我遇到了一些问题。我一直在遇到此错误:"传递到字典中的模型项是类型为'dcms.models.models.projects.project',但是该词典需要类型'dcms.viewmodels.projectdetailsviewmodel'的模型项。 这是我的控制器:
public ActionResult GetProjectView(int id)
{
var projectDataAccess = new ProjectDataAccess();
var project = projectDataAccess.GetProject(id);
if (project == null) return PartialView("Error");
return View("ProjectView", project);
}
这是我观点的一部分:
@model DCMS.ViewModels.ProjectListViewModel
@if (Model != null)
{
foreach (var project in Model.ProjectList)
{
<div class="accordion-container">
<h3 class="accordion-header">
@Html.ActionLink(project.Client.ClientName + " / " + project.ProjectName + " / " + project.ProjectNum ?? "<null>", "GetProjectView", new {id = project.Id})<span class="right">@Html.ActionLink("View Details", "GetProjectView", new {id = project.Id})</span>
</h3>
<div class="accordion-body">
<table class="accordion-details">
<tr class="accordion-evenrow">
<td class="accordion-header-column">
@Html.LabelFor(m => project.ProjectStatus)
</td>
<td class="accordion-value-column">
@project.ProjectStatus
</td>
这是ProjectView:
@model DCMS.ViewModels.ProjectDetailsViewModel
@{
ViewBag.Title = "Project Details";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2 id="breadcrumbs">@Html.ActionLink("Projects", "Index", "Project") > @(Model.Project.ProjectName ?? "<null>")/@Model.Project.ProjectNum </h2>
<div id="tabs">
<ul id="projectTabs" style="display:none;">
<li><a href="#projectdetails">Project Details</a></li>
<li><a href="#pricing">Client Pricing</a></li>
<li><a href="#vendor">Vendor Pricing</a></li>
<li><a href="#status">Status</a></li>
</ul>
<h2 style="margin:1px; font-size:20px;">@Model.Project.ProjectName /@Model.Project.ProjectNum</h2>
<div id="projectdetails">
@Html.Partial("Partial/EditProject")
</div>
<div id="pricing">
@Html.Partial("Partial/Pricing")
</div>
<div id="status">
@Html.Partial("Partial/ProjectStatus")
</div>
<div id="vendor">
@Html.Partial("Partial/VendorPricing")
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){
$("#projectTabs").show();
$("#tabs").tabs();
});
</script>
如何将类型项目的项目传递到类型的projectDetailsviewModel的视图?我将感谢任何帮助。谢谢。
如错误所示,
传递到字典的模型项类型 'dcms.models.projects.project',但是该词典需要一个模型 类型'dcms.viewmodels.projectdetailsviewmodel'
的项目
ViewModel和通过的模型应该相同。
public ActionResult GetProjectView(int id)
{
ProjectDetailsViewModel _projectModel = new ProjectDetailsViewModel();
var projectDataAccess = new ProjectDataAccess();
var project = projectDataAccess.GetProject(id);
_projectModel.Project = project ;
if (project == null) return PartialView("Error");
return View("ProjectView", _projectModel );
}