Нет элемента ViewData с ключом - PullRequest
0 голосов
/ 31 августа 2009

У меня проблема с отправкой множественного выбора, я получаю сообщение об ошибке: «Нет элемента ViewData с ключом« NotificationUsergroups »типа« IEnumerable »."

В контроллере у меня есть:

            MultiSelectList NotificationUsergroups = new MultiSelectList(Usergroups, "UsergroupID", "UsergroupName", selectedNotificationUsergroupIDs);

        ViewData["NotificationUsergroups"] = NotificationUsergroups;

По моему мнению:

<%= Html.ListBox("NotificationUsergroups")%>

А в посте:

[AcceptVerbs(HttpVerbs.Post)]
    public ActionResult ObjectEdit([BindAttribute(Include = "BookingObjectID,BookingObjectName,Activated,ActivationStartDate,ActivationEndDate,AvalibleObjects,AvalibleObjectsPerBooking")]BookingObject bookingobject, int[] Objectcategories, int[] NotificationUsergroups, int[] CancellationUsergroups)
    {
        if (ModelState.IsValid)
        {
            try
            {
                _bs.SaveBookingObject(bookingobject);

                if (NotificationUsergroups != null)
                    _bs.SaveNotificationUsergroups(bookingobject.BookingObjectID, NotificationUsergroups);

                return View("CreateObject", new BookingObjectsAdminEditViewModel { BookingObject = bookingobject });
            }
            catch {
                ModelState.AddModelError("SomeError", "errrrrrrrrror");
            }
        }

Что может быть не так? Я проверил орфографию и все, работает, если я не запускаю список с множественным выбором.

Что заставляет данные «исчезать»?

Заранее спасибо / M * +1016 *

Ответы [ 2 ]

1 голос
/ 31 августа 2009

Вам также необходимо установить данные представления в методе приема POST, потому что, если возникнет ошибка, он вернется к исходному виду.

Доброжелательность,

Dan

Или включите их в свою модель :) Вам нужно изменить вид, хотя.

0 голосов
/ 31 августа 2009

Ваше действие должно настроить ваши ViewData.

Если ваше действие вызывает

 ViewData["NotificationUsergroups"] = NotificationUsergroups;

все должно быть в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...