Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.119.160.154] |
|
Сообщ.
#1
,
|
|
|
Здравствуйте! Хочу записать значение из checkbox который расположен в Listview в базу. В базе тип присвоен int.
Int32 idx = e.ItemIndex; System.Web.UI.WebControls.CheckBox chk = (System.Web.UI.WebControls.CheckBox)lv_Private.Items[idx].FindControl("cb_ShowDataBirthday"); if (chk.Checked) e.NewValues["ShowDataBirthday"] = "1"; else e.NewValues["ShowDataBirthday"] = "0"; ошибка Object reference not set to an instance of an object |
Сообщ.
#2
,
|
|
|
Dmitriy78781, вы действительно в переменную e хотите записывать?
|
Сообщ.
#3
,
|
|
|
protected void lv_Private_ItemUpdating(object sender, ListViewUpdateEventArgs e) { Int32 idx = e.ItemIndex; System.Web.UI.WebControls.CheckBox chk = (System.Web.UI.WebControls.CheckBox)lv_Private.Items[idx].FindControl("cb_ShowDataBirthday"); if (chk.Checked) e.NewValues["ShowDataBirthday"] = "1"; else e.NewValues["ShowDataBirthday"] = "0"; А как по другому записать значение? |
Сообщ.
#4
,
|
|
|
Dmitriy78781, в вашем коде ни строчки про работу с базой.
|
Сообщ.
#5
,
|
|
|
Цитата Dmitriy78781 @ ошибка Object reference not set to an instance of an object Нулевой указатель. Объект у тебя не создан, он просто пустой. На какую строку ругается, если под отладчиком остановить или прогнать? Судя из того что ты привел, могу только предположить, что валица вот гдето на вот этой конструкции: (System.Web.UI.WebControls.CheckBox)lv_Private.Items[idx].FindControl("cb_ShowDataBirthday"); Возможно ты обращаешься к несуществующему итему или у тебя массив нулевой вообще или еще возможно что 'е' null. Ты объекты перед их использованием на null проверяешь вообще? Ошибка твоя, если ее перефразировать на русский диалект, звучит как: Объект ссылочного типа не инстанцирован(не ссоздан, не инициализирован и т.п, но где то юзается). Добавлено Цитата kosten @ Dmitriy78781, в вашем коде ни строчки про работу с базой. Возможно у него через биндинги сделано? ЗЫЖ я пока нуб в явошарпах, пока только вливаюсь. Но ведь есть возможность забиндить с датасорсом объект, и в последствии не нужно никуда обращатся, достаточно изменить значение объекта ссылающегося на датасорс, и оно само все сделает. Разве нет? |
Сообщ.
#6
,
|
|
|
Я попытался по другому решить данную проблему но в итоге все переменные (tShowDataBirthday,tContactInfo,tSendLetterToPost)выходят нулевые.
CheckBox tShowDataBirthday = (lv_Private.Items[e.ItemIndex].FindControl("cb_ShowDataBirthday")) as CheckBox; CheckBox tContactInfo = (lv_Private.Items[e.ItemIndex].FindControl("cb_ContactInfo")) as CheckBox; CheckBox tSendLetterToPost = (lv_Private.Items[e.ItemIndex].FindControl("cb_SendLetterToPost")) as CheckBox; |
Сообщ.
#7
,
|
|
|
попробуй lv_Private.EditItem.FindControl
|
Сообщ.
#8
,
|
|
|
И так не работает.
|
Сообщ.
#9
,
|
|
|
значит ID контролов неверно указаны
|