Привязать несколько значений к модели на пост - PullRequest
0 голосов
/ 10 августа 2009

Мне удалось заставить рабочий список флажков работать, и я не могу каким-то образом вернуть значения, когда я публикую "обычный путь". Должен ли я использовать Request.Form и зациклить их в модели перед обновлением базы данных?

"userobj" имеет свой userobj.UsersUsergroups count = 0 в сообщении.

Контроль:

        [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult UserEdit([BindAttribute(Include = "Firstname,Surname,Username,Email,Password,UserID,UsergroupID")]User userobj)
    {
        if (ModelState.IsValid)
        {
            try
            {
                us.SaveUser(userobj);
            }
            catch
            {
                ModelState.AddModelError("SomeError", "errrrrrrrrror");
            }
        }

        return View("UserDetail", new UsersAdminModel { User = userobj });
    }

И у меня есть флажки, сгенерированные как:

<input id="UsergroupID_0" name="UsergroupID" type="checkbox" value="2" /> <label for="UsergroupID_0" id="label-0">Grupp 1</label><br />
<input id="UsergroupID_1" name="UsergroupID" type="checkbox" value="3" /> <label for="UsergroupID_1" id="label-1">Grupp 2</label><br />
<input id="UsergroupID_2" name="UsergroupID" type="checkbox" value="4" /> <label for="UsergroupID_2" id="label-2">234234</label><br />
<input id="UsergroupID_3" name="UsergroupID" type="checkbox" value="5" /> <label for="UsergroupID_3" id="label-3">234234</label><br />
<input id="UsergroupID_4" name="UsergroupID" type="checkbox" value="6" /> <label for="UsergroupID_4" id="label-4">234234</label><br />
<input id="UsergroupID_5" name="UsergroupID" type="checkbox" value="7" /> <label for="UsergroupID_5" id="label-5">345345345</label><br />
<input id="UsergroupID_6" name="UsergroupID" type="checkbox" value="8" /> <label for="UsergroupID_6" id="label-6">3453453456</label><br />
<input id="UsergroupID_7" name="UsergroupID" type="checkbox" value="9" /> <label for="UsergroupID_7" id="label-7">Grupp 122</label><br />

Как я могу "заполнить" User-объект проверенными значениями после публикации?

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

EDIT:

Я пытался с:

[AcceptVerbs (HttpVerbs.Post)] public ActionResult UserEdit ([BindAttribute (Include = "Имя, Фамилия, Имя пользователя, Электронная почта, Пароль, UserID, UsergroupID")] userrobj, IList UsergroupID)

и кажется, что значения из флажков для этого списка ...

Но что мне делать, чтобы назначить его для userobj.UsersUsergroups? неправильные типы, когда я пытаюсь

/ M

1 Ответ

3 голосов
/ 10 августа 2009

Ознакомьтесь с превосходным постом в блоге Фила Хаака о том, как моделировать привязку списка элементов.

Сможете ли вы использовать это напрямую или нет, я не уверен, но вы всегда можете получить идентификаторы в отдельном параметре, а затем получить группы по идентификатору для добавления в ваш пользовательский объект. Я не знаю, что это будет заполнять группы из базы данных только что дали идентификаторы. Для этого может потребоваться специальное связующее.

<input type="hidden" name="UserGroupID.Index" value="0" />
<input type="checkbox" name="UserGroupID[0]" id="UserGroupID_0" value="0" />
    <label for="UsergroupID_0" id="label-0">Group 0</label><br />
 <input type="checkbox" name="UserGroupID[1]" id="UserGroupID_1" value="1" />
    <label for="UsergroupID_1" id="label-1">Group 1</label><br />
 ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...