【发布时间】:2014-03-14 00:06:31
【问题描述】:
我正在使用 (ASP.Net MVC4),但我不知道如何从局部视图中获取信息。 我的意思是我有一个我的视图模型
public class ShowHomeViewModel
{
public int ID_ClientTypeID { get; set; }
public string ReservationDate { get; set; }
public short ClientNum { get; set; }
public string ClientPhone { get; set; }
public List<HomeViewModel> ReservedHuts { get; set; }
}
我有一个局部视图,我在其中显示来自 HomeViewModel 的所有数据,它显示得很好,问题是当我尝试从视图中恢复 ReservedHuts 列表时:
@model HutReservation.ViewModel.ShowHomeViewModel
<table>
<tr>
@{Html.RenderPartial("_Reservations", Model.ReservedHuts);}
</tr>
</table>
在我看来,我显示了列表并更改了一些数据,但是当我单击按钮并转到下面的新方法时,结果发现 ReservedHuts(HomeViewModel 的列表)为空
[HttpPost] //cambiar la pagina para el partial view
public ActionResult New(ShowHomeViewModel vm) // <- this vm is null
{
foreach (HomeViewModel hvm in vm.ReservedHuts)
{
}
return View("ConfirmNew", vm);
}
我真的卡在这里,提前感谢您的帮助
【问题讨论】:
-
您的 PartialView 需要在回发的表单中呈现。是这样吗?发布一些渲染的 html。
-
如果您想异步返回服务器以访问您的
New方法,则必须使用 AJAX -
向我们展示您的部分视图...在那里我们应该看到您对列表做了什么以及您的表单是否正常。
-
@model IEnumerable<HutReservation.ViewModel.HomeViewModel> @{ SelectListItem[] TimeRes = ViewBag.TimeRes; var m = Model; } foreach (var m in Model) { <td id="Hut_@m.Hut_Number" class="@m.TimeReserve"> @Html.HiddenFor(mit => m.ID_ClientTypeID) <div style="text-align: center"> @Html.DisplayFor(modelItem => m.Hut_Number) </div> <hr /> <div> @Html.DisplayFor(modelItem => m.ClientName) </div> </td>..etc
标签: c# asp.net-mvc-4 razor partial-views