1

我正在尝试使用以下命令刷新 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]);
            }
        }
    }
}

谢谢,

格雷格

4

1 回答 1

0

通过将树的“EnabledClientScript”属性设置为 false 来解决它。

于 2010-05-30T11:26:37.833 回答