2011-01-12 4 views

ответ

2

Как вы связываете свой TreeView?

Я предполагаю, что вы являетесь обязательными для каждого Page_Load (или Page_Init, что угодно), независимо от this.Page.IsPostback

Если вы перепривязываете ваш TreeView до EventHandler достигаются в Asp.net Lifecycle, вы будете подавлять все события, которые должны быть поднятый, например Ваше OnTreeNodeCheckedChanged события

только связывается по

if(!this.Page.IsPostBack) 
{ 
    // insert your initial binding of your treeview here 
} 

После постбэк вы должны перепривязываете после желательных обработчиков событий были выполнены


Edit:
Вы должны вручную заставить PostBack, так как TreeView не выпустит Postback, изменив объект «Выбранный объект» kboxes.

Даже несмотря на то, TreeNodeCheckChanged событие вызывается по почте обратно, изменяя флажок не вызывает запись назад.

TreeView.TreeNodeCheckChanged Event

+0

Я уже поставил этот код. – kst

+0

Нет, вы этого не сделали. В разметке не указано свойство DataSourceID. Это означает, что если ваш TreeView отображает что-то, вы вручную назначаете свойство DataSourceID или свойство DataSource и вызываете .DataBind(). Или вы вручную получаете доступ к свойству Nodes и манипулируете им. В противном случае ваш TreeView пуст и не сможет запустить событие CheckedChanged, потому что нет узлов – citronas

+0

Я привязываю его вручную при загрузке страницы в if (! IsPostBack) {}. Но событие CheckedChanged не может быть запущено. – kst

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