我有一個部分認爲是這樣傳遞的模型:通過局部視圖MVC3
@model IEnumerable<NutricionApp.Models.Ingrediente>
<table>
<tr>
<th>
NombreIngrediente
</th>
<th>
CantidadPorPorcion
</th>
<th>
UnidadPorPorcion
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.NombreIngrediente)
</td>
<td>
@Html.DisplayFor(modelItem => item.CantidadPorPorcion)
</td>
<td>
@Html.DisplayFor(modelItem => item.UnidadPorPorcion)
</td>
</tr>
}
</table>
我想渲染說,在這個視圖局部視圖,這是強類型:
@model NutricionApp.Models.Platillo
@{
ViewBag.Title = "Create";
Model.ListadeIngredientes = new List<NutricionApp.Models.ListaIngredientes>();
}
<h2>Create</h2>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Platillo</legend>
<div class="editor-label">
@Html.LabelFor(model => model.NombrePlatillo)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.NombrePlatillo)
@Html.ValidationMessageFor(model => model.NombrePlatillo)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.idRestaurante)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.idRestaurante)
@Html.ValidationMessageFor(model => model.idRestaurante)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.DescripcionPlatillo)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.DescripcionPlatillo)
@Html.ValidationMessageFor(model => model.DescripcionPlatillo)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.esAprobado)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.esAprobado)
@Html.ValidationMessageFor(model => model.esAprobado)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.esDisponible)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.esDisponible)
@Html.ValidationMessageFor(model => model.esDisponible)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.precio)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.precio)
@Html.ValidationMessageFor(model => model.precio)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.VigenciaPlatillo)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.VigenciaPlatillo)
@Html.ValidationMessageFor(model => model.VigenciaPlatillo)
</div>
<!--<table>
<tr><th>Nombre</th></tr>
@@foreach (var item in (List<NutricionApp.Models.ListaIngredientes>)Session["Lista"])
{
<tr>
<p>
<td>@@item.ingrediente.NombreIngrediente</td>
</p>
</tr>
}
</table>-->
@Html.Partial("_Ingredientes", Model.);
<br />
@Html.Partial("_ListaIngredientes", Model.ListadeIngredientes)
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
而且在我的控制器我有這樣的:
//....
public ActionResult _ListaIngredientes()
{
IEnumerable<ListaIngredientes> ListaDemo = new List<ListaIngredientes>();
return View(ListaDemo);
}
public ActionResult _Ingredientes()
{
return View(db.Ingredientes.ToList());
}
在這種情況下,db.Ingredients.ToList());返回我需要在局部視圖上顯示的數據。問題是,當我嘗試在我的視圖中顯示所述列表時,它告訴我必須通過與我的視圖相對應的IEnumerable模型...
如果我從URL訪問PartialView,它會正確顯示數據。但是,如果我嘗試從視圖內部執行此操作,則由於被強制鍵入,它會傳遞它當前使用的模型。我如何傳遞我需要的模型(我的成分表列表,db.Ingredientes.ToList());
您需要發佈錯誤的文本。 – Heather