Обновить страницу не работает в asp.net используя treeview - PullRequest
1 голос
/ 30 мая 2010

Я пытаюсь обновить страницу asp.net с помощью этой команды:

<meta http-equiv="Refresh" content="10"/>

На этой странице у меня есть 2 дерева. Обновление работает нормально, когда я просто открываю страницу, но когда я нажимаю на одно из древовидных представлений и раскрываю его, обновление останавливается, и страница не обновляется.

Есть идеи, почему это может произойти? Есть ли какая-либо связь с расширяемым видом дерева?

Вот полный код страницы:

public partial class Results : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {

    }

    // Function that moves reviewed yellow card to reviewed tree 
    protected void ycActiveTree_SelectedNodeChanged(object sender, EventArgs e)
    {
        ycActiveTree.SelectedNode.Text = "Move To Active"; 
        ycReviewedTree.PopulateNodesFromClient = false;
        ycReviewedTree.Nodes[ycReviewedTree.Nodes.Count - 1].ChildNodes.Add(ycActiveTree.SelectedNode.Parent);
        Application["reviewedTree"] = new ArrayList();
        int count = ((ArrayList)Application["activeTree"]).Count;
        // Move all the nodes from activeTree application to reviewedTree application
        for (int i = 0; Application["activeTree"] != null && i < count; i++)
        {
            ((ArrayList)Application["reviewedTree"]).Add(((ArrayList)Application["activeTree"])[i]);
            ((ArrayList)Application["activeTree"]).RemoveAt(0);
        }
    }

    protected void ycActiveTree_TreeNodePopulate(object sender, TreeNodeEventArgs e)
    {

        if (Application["idList"] != null && e.Node.Depth == 0)
        {

            string[] words = ((String)Application["idList"]).Split(' '); // Yellow Card details
            TreeNode child = new TreeNode("");
            // Go over all the yellow card details and populate the treeview
            for (int i = 1; i < words.Length; i++)
            {
                child.SelectAction = TreeNodeSelectAction.None;
                // Same yellow card
                if (words[i] != "*")
                {
                    // End of details and start of point ip's 
                    if (words[i] == "$")
                    {
                        // Add the yellow card node
                        TreeNode yellowCardNode = new TreeNode(child.Text);
                        yellowCardNode.SelectAction = TreeNodeSelectAction.Expand;

                        e.Node.ChildNodes.Add(yellowCardNode);


                        child.Text = "";
                    }
                    // yellow card details
                    else
                    {
                        child.Text = child.Text + words[i] + " ";
                    }
                }
                // End of yellow card
                else
                {
                    child.PopulateOnDemand = false;
                    child.SelectAction = TreeNodeSelectAction.None;

                    // Populate the yellow card node
                    e.Node.ChildNodes[e.Node.ChildNodes.Count - 1].ChildNodes.Add(child);


                    TreeNode moveChild = new TreeNode("Move To Reviewed");
                    moveChild.PopulateOnDemand = false;
                    moveChild.SelectAction = TreeNodeSelectAction.Select;

                    e.Node.ChildNodes[e.Node.ChildNodes.Count - 1].ChildNodes.Add(moveChild);

                    child = new TreeNode("");


                    Application["activeTree"] = new ArrayList();
                    ((ArrayList)Application["activeTree"]).Add(e.Node.ChildNodes[e.Node.ChildNodes.Count - 1]);
                }
            }
        }
        // If there arent new yellow cards
        else if (Application["activeTree"] != null)
        {
            // Populate the active tree
            for (int i = 0; i < ((ArrayList)Application["activeTree"]).Count; i++)
            {
                e.Node.ChildNodes.Add((TreeNode)((ArrayList)Application["activeTree"])[i]);
            }
        }
        // If there were new yellow cards and nodes that moved from reviewed tree to active tree
        if (Application["idList"] != null && Application["activeTree"] != null && e.Node.ChildNodes.Count != ((ArrayList)Application["activeTree"]).Count)
        {
            for (int i = e.Node.ChildNodes.Count; i < ((ArrayList)Application["activeTree"]).Count; i++)
            {
                e.Node.ChildNodes.Add((TreeNode)((ArrayList)Application["activeTree"])[i]);
            }
        }
        // Nullify the yellow card id's
        Application["idList"] = null;
    }

    protected void ycReviewedTree_SelectedNodeChanged(object sender, EventArgs e)
    {
        ycActiveTree.PopulateNodesFromClient = false;
        ycReviewedTree.SelectedNode.Text = "Move To Reviewed";
        ycActiveTree.Nodes[ycActiveTree.Nodes.Count - 1].ChildNodes.Add(ycReviewedTree.SelectedNode.Parent);
        int count = ((ArrayList)Application["reviewedTree"]).Count;
        // Move all the nodes from reviewedTree application to activeTree application
        for (int i = 0; Application["reviewedTree"] != null && i < count; i++)
        {
            ((ArrayList)Application["activeTree"]).Add(((ArrayList)Application["reviewedTree"])[i]);
            ((ArrayList)Application["reviewedTree"]).RemoveAt(0);
        }
    }

    protected void ycReviewedTree_TreeNodePopulate(object sender, TreeNodeEventArgs e)
    {
        if (Application["reviewedTree"] != null)
        {
            // Populate the reviewed tree
            for (int i = 0; i < ((ArrayList)Application["reviewedTree"]).Count; i++)
            {
                e.Node.ChildNodes.Add((TreeNode)((ArrayList)Application["reviewedTree"])[i]);
            }
        }
    }
}

Спасибо

Грег

1 Ответ

0 голосов
/ 30 мая 2010

Решено, установив для свойства «EnabledClientScript» деревьев значение false.

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