@using (Html.BeginForm("PrintDoorSigns", "TimeTable", FormMethod.Post, new { id = "printDoorSigns" }))
{
<input type="hidden" id="doorSignDate" name="SelectedDate" />
<h3>Door Signs</h3>
<fieldset class="float-left">
<legend>Date</legend>
<div id="signsDate"></div>
</fieldset>
<div id="doorSignsRoomList" class="float-left">
@{Html.RenderAction("DoorSignsForm", new { date = DateTime.Now });}
</div>
<div>
<fieldset>
<legend>Options</legend>
<button id="SelectAllRooms">Select All</button>
<button id="RemoveAllRooms">Remove All</button>
</fieldset>
</div>
}
я иметь такую форму, которая делает этот частичный вид:MVC 4 Модель связывания с частичным видом
@model WebUI.ViewModels.CalendarVM.DoorSignsFormVM
<fieldset>
<legend>Rooms</legend>
@{ var htmlListInfo = new HtmlListInfo(HtmlTag.vertical_columns, 3, null, TextLayout.Default, TemplateIsUsed.No);
if (Model.Rooms.Count() > 0)
{
<div id="roomsWithBookings" class="CheckBoxList float-left">
@Html.CheckBoxList("SelectedRooms", model => model.Rooms, entity => entity.Value, entity => entity.Text, model => model.SelectedRooms, htmlListInfo)
</div>
}
}
</fieldset>
Регулятор:
public ActionResult PrintDoorSigns(DateTime SelectedDate, DoorSignsFormVM Model)
когда я отправить форму, скрытый вход " SelectedDate "передается обратно, а переменная Model, содержащая две переменные IEnumerable, не является нулевой. Один из списков - это нуль, который я ожидаю, так как он не должен быть возвращен обратно, а переменная SelectedRooms, которую я ожидаю заполнить, - это новый список со счетом 0.
Я предполагаю, что привязка просто неверна в этом свойстве но я не понимаю, почему, какие-то указатели? Благодаря
EDIT:
public PartialViewResult DoorSignsForm(DateTime date)
{
var userID = _bookingService.GetCurrentUser(User.Identity.Name);
var model = new DoorSignsFormVM();
model.Rooms = _sharedService.GetRoomsWithBookings(date, userID.FirstOrDefault().DefSite);
return PartialView("_DoorSigns", model);
}
Вот действие doorsignsform, что визуализируется в форме.
Не следует ли передавать модель DoorSignsFormVM методу RenderAction здесь Html.RenderAction («DoorSignsForm», new {date = DateTime.Now})? Не могли бы вы опубликовать код для действия DoorSignsForm? – devduder
Добавил его к основному вопросу, спасибо – Nathelol