我很新的MVC和有這個巨大的應用程序,需要使用標籤和部分視圖。我有一個ViewModel,其字段是我的EF類的列表。我將這個視圖模型類(ProjInfoVM)傳遞到我的ProjInfo視圖。該視圖有3個選項卡,它們是表示每個EF類的表單 - 它們都需要被提交回來提交。 我的第一個挑戰得到的形式顯示{我已經創建了3個強類型的部分視圖},但不知道如何顯示它們,因爲我不斷收到錯誤: 傳遞到字典中的模型項目是'SMS2'類型。 Models.ProjectInfoVM',但是這個詞典需要一個'SMS2.Models.ProjResc'類型的模型項' 我的第二個挑戰是如何將各個表單發回給控制器 - 在這裏我不知道如何實現這一點。 ..我需要幫助MVC標籤和部分視圖
下面是我的代碼:
ProjInfoVM.cs
public partial class ProjectInfoVM
{
public ProjCourse ProjCourse { get; set; }
public ProjDocument ProjDocuments { get; set; }
public ProjResc ProjRescs { get; set; }
}
ProjResc局部視圖
@model SMS2.Models.ProjResc
@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset>
<legend>ProjResc</legend>
<div class="editor-label">
@Html.LabelFor(model => model.RescId)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.RescId)
@Html.ValidationMessageFor(model => model.RescId)
</div>
.....
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
....相同格式適用於剩餘的2偏{_ProjDoc和_ProjCourses}
ProjResc.cs {同樣適用於其它兩個類}
public partial class ProjResc
{
public int RescId { get; set; }
public int ProjectId { get; set; }
public Nullable<int> SponsorId { get; set; }
public decimal StipendAmt { get; set; }
public string StipendFreq { get; set; }
}
現在我有我的ProjInfo控制器與行動ProjInfo如下:
public ActionResult ProjInfo()
{
ProjectInfoVM vm = new ProjectInfoVM();
...Populate vm contents here....
return PartialView(vm);
}
和我ProjInfo查看如下...
@model SMS2.Models.ProjectInfoVM
@{
ViewBag.Title = "ProjInfo";
}
<div class="panel panel-default tabs">
<ul class="nav nav-tabs" role="tablist">
<li class="active"><a href="#tab-first" role="tab" data-toggle="tab">Project Resources</a></li>
<li><a href="#tab-second" role="tab" data-toggle="tab">Project Restrictions</a></li>
<li><a href="#tab-third" role="tab" data-toggle="tab">Project Documents</a></li>
<li><a href="#tab-four" role="tab" data-toggle="tab">Project Courses</a></li>
</ul>
<div class="panel-body tab-content">
<div class="tab-pane active" id="tab-first">
<h2>Partial View content : @Model.ProjCourse.CourseName</h2>
@Html.Partial("_ProjCourse", Model.ProjCourse)
</div>
<div class="tab-pane" id="tab-second">
@Html.Partial("_ProjResc", Model.ProjResc)
</div>.......
我不斷收到這個錯誤..
The model item passed into the dictionary is of type 'SMS2.Models.ProjectInfoVM', but this dictionary requires a model item of type 'SMS2.Models.ProjResc'
有人可以闡明成在那裏我在想念它產品總數...請
你能告訴我們你的ProjInfo.cshtml視圖嗎?特別是@model語句。 並提交從這兩個部分視圖的所有領域,你應該包括他們在同一個表格塊 – 2015-04-03 06:50:00
我已經編輯它,以包括@model語句 – 2015-04-03 07:00:46