2011-12-28 2 views
0

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

(checkbox.checked==true) 

Если его истина берет строки в другую сетку. я переплетен данные о GridView в

if(!PostBack)condition. 

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

+1

Пожалуйста, внесите свой вопрос и код. – abatishchev

+6

plz dont use txtspk 4 ur questns kthxbai –

ответ

1

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

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

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

Смежные вопросы