Я пытаюсь создать веб-часть, которая содержит элемент управления TreeView.У меня есть свойство bool веб-части MyCheckbox, и я использую его, чтобы определить, какие узлы должны отображаться в древовидной структуре.
Проблема, с которой я сталкиваюсь, заключается в том, что при изменении свойства, отображаемого в свойствах веб-части(«Изменить общую веб-часть ..»), Bool MyCheckBox и нажмите «ОК», Treeview не обновляется.Однако, если я затем перехожу на страницу, древовидное представление обновляется.
Я объявляю класс следующим образом, используя Treeview и его корневой узел в качестве переменных-членов:
public class MyWebPart : System.Web.UI.WebControls.WebParts.WebPart
{
private TreeView tree = new TreeView();
private TreeNode rootNode;
[WebBrowsable(true)]
[Personalizable(PersonalizationScope.Shared)]
public bool MyCheckBox
{
get { return _myCheckBox; }
set { _myCheckBox = value; }
}
private bool __myCheckBox = false;
public MyWebPart()
{
}
public override void RenderControl(HtmlTextWriter writer)
{
tree.RenderControl(writer);
}
protected override void CreateChildControls()
{
rootNode = new TreeNode("ExampleRootNode");
for ( int x = 0; x < 3; x++)
{
TreeNode listNode = new TreeNode(x.ToString());
rootNode.ChildNodes.Add(listNode);
}
if (_myCheckBox)
{
TreeNode listNode = new TreeNode("Final entry");
rootNode.ChildNodes.Add(listNode);
}
tree.Nodes.Add(rootNode);
this.Controls.Add(tree);
}
protected override void Render(HtmlTextWriter writer)
{
base.Render(writer);
}
}
IЯ пробовал проверить обратную передачу, очистить список и миллион других вещей.Я уверен, что я что-то упустил!