Checkbox.checked в gridview при обратной передаче - PullRequest
0 голосов
/ 28 декабря 2011

У меня есть сетка с флажком в Itemtemplate.Что мне нужно сделать, это проверить условие:

(checkbox.checked==true) 

, если его значение истинно, перенести строки в другое представление сетки.я связал данные вида сетки в

if(!PostBack)condition.

Все работало нормально, пока мой работодатель не сказал, что не хочет, чтобы вид сетки был связан в условии if (! postback), но если я убрал это условие из флажка.проверенное значение всегда ложно!

1 Ответ

1 голос
/ 28 декабря 2011

Из подробностей вашего вопроса я не уверен, хочет ли ваш босс, чтобы сетка не была привязана или не хотела, чтобы страница раздувалась с помощью ViewState сетки, но, по моему опыту, обычно это последнее.Однако, если ваш босс просто не хочет привязывать сетку в условии «if (! Postback)» и не возражает, если он связан или использует ViewState, тогда ваш босс не понимает веб-разработку с использованием C # и на стороне сервераcontrol.

Но ... чтобы ответить на ваш вопрос, причина, по которой все флажки сняты, заключается в том, что вы привязываете сетку ПОСЛЕ применения ViewState.ViewState содержит все данные, необходимые в условии обратной передачи, чтобы установить состояние флажков во время обратной передачи, и применяет эти данные до события OnLoad (или Page_Load).Связывая сетку, вы по сути стираете все, что было отправлено обратно во ViewState и применено.Чтобы преодолеть это, отключите ViewState для сетки и самостоятельно установите состояние флажков ПОСЛЕ ТОГО, КАК вы перепривязываете сетку с использованием коллекции FORM.

Если вы хотите покончить с ViewState, вот несколько советов в этой статье,http://www.codeproject.com/KB/viewstate/DataGridViewState.aspx

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