使用树视图在 ASP.NET 中刷新页面不起作用

发布于 2024-09-03 15:37:49 字数 5613 浏览 5 评论 0原文

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

谢谢,

Greg

I am trying to refresh an asp.net page using this command:

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

On that page I have 2 treeviews. The refresh works ok when I just open the page, but when I click on one of the treeviews and expand it, the refresh stopps working and the page isnt being refreshed.

Any ideas why this can happen? Is there any connection to the treeview being expanded?

Here is the full code of the page:

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]);
            }
        }
    }
}

Thanks,

Greg

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

贪了杯 2024-09-10 15:37:49

通过将树的“EnabledClientScript”属性设置为 false 解决了这个问题。

Solved it by setting the "EnabledClientScript" property of the trees to false.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文