【问题标题】:How to stop automatically collapsing treeview structure when click on a childnode asp.net Visual studio 2008单击子节点 asp.net Visual Studio 2008 时如何停止自动折叠树视图结构
【发布时间】:2018-07-19 20:01:05
【问题描述】:

我正在使用带有 C# 3.5 和 Visual Studio 2008 的 ASP.NET。我正在使用母版页和内容页。我在母版页中有一个树视图菜单,当用户选择任何菜单项时,我会重定向到该内容页面。

我的问题是,在用户导航到内容页面后,所有树节点都会刷新并且结构会折叠。我希望选定的树节点保持扩展。 谁能帮我解决这个问题??

起初我的树视图工作正常。但是树视图中的某些节点没有重定向到表单意味着第一次每个节点都转到相应的表单。但是第二次它没有得到。当我设置 AutoEventWireup="false" 然后该问题已解决。evrynodes 正常工作。并且出现了 nw 问题。即树视图中的节点正在崩溃。当我们选择父子节点时,子节点,然后当我们单击节点时,树视图会自动返回父节点。

如何实现?

下面附上我的代码:

MasterPage.master:

<asp:TreeView runat="server" ID="treeModule"   
BorderColor="White" Height="1310px"  
                                      OnSelectedNodeChanged="treeModule_SelectedNodeChanged" 
OnTreeNodeExpanded ="treeModule_TreeNodeExpanded"
style= "margin-top: 0px" BackColor="#336699" BorderStyle="Inset" 
Font-Names="Arial" ForeColor="Black" ImageSet="Contacts" 
NodeIndent="10" ExpandDepth="0"  >

在 Masterpage.master.cs:

 protected void treeModule_SelectedNodeChanged(object sender, EventArgs e)
    {


         if (treeModule.SelectedNode.Text == "User")
        {
            Session["SaveEditMode"] = "Save";
            Session["InboxMode"] = "N";

            Response.Redirect("~/UserCreation.aspx");
        }
         #region SubContrctModule

         if (treeModule.SelectedNode.Text == "WorkOrder Advance Report")
         {
             Session["SaveEditMode"] = "Save";
             Session["InboxMode"] = "N";

             Response.Redirect("~/SubContract/Reports/AdvanceRequestReport.aspx");
         }
         if (treeModule.SelectedNode.Text == "Sub Contractor Master")
         {
             Session["SaveEditMode"] = "Save";
             Session["InboxMode"] = "N";

             Response.Redirect("~/SubContract/SubContractorMaster.aspx");
         }
         if (treeModule.SelectedNode.Text == "Work Category Settings")
         {
             Session["SaveEditMode"] = "Save";
             Session["InboxMode"] = "N";

             Response.Redirect("~/SubContract/WorkCategoryMaster.aspx");
         }
         if (treeModule.SelectedNode.Text == "Work Type Settings")
         {
             Session["SaveEditMode"] = "Save";
             Session["InboxMode"] = "N";

             Response.Redirect("~/SubContract/WorkTypeMaster.aspx");
         }
         if (treeModule.SelectedNode.Text == "Work Order Settings")
         {
             Session["SaveEditMode"] = "Save";
             Session["InboxMode"] = "N";
             Response.Redirect("~/SubContract/WorkOrderMaster.aspx");
         }
         if (treeModule.SelectedNode.Text == "Advance Request")
         {
             Session["SaveEditMode"] = "Save";
             Session["InboxMode"] = "N";

             Response.Redirect("~/SubContract/AdvanceRequest.aspx");
         }
         if (treeModule.SelectedNode.Text == "Advance Payment")
         {
             Session["SaveEditMode"] = "Save";
             Session["InboxMode"] = "N";

             Response.Redirect("~/SubContract/AdavancePayment.aspx");
         }
         if (treeModule.SelectedNode.Text == "Billing Master")
         {
             Session["SaveEditMode"] = "Save";
             Session["InboxMode"] = "N";

             Response.Redirect("~/SubContract/BillingMaster.aspx");
         }


         if (treeModule.SelectedNode.Text == "Rating Percentage Setting")
        {
            Session["SaveEditMode"] = "Save";
            Session["InboxMode"] = "N";

            Response.Redirect("~/Material Module/ISO/ISORatingPercentageMaster.aspx");
        }

【问题讨论】:

    标签: asp.net c#-3.0


    【解决方案1】:

    没有看到任何代码有点困难,但我相信您的问题出在 asp:TreeView 标记/服务器控件中。检查您是否将属性“ExpandDepth”设置为任何值。我会完全删除它,或者将其设置为“FullyExpand”。

    【讨论】:

    • 请检查thread
    • 又是另一个问题。在我没有得到的 boforecollapse 事件中使用 Visual Studio 2008。我如何在 Visual Studio 2008 中树视图的折叠事件之前访问????
    【解决方案2】:

    需要根据新页面的URL展开节点

    http://forums.asp.net/t/1766332.aspx/1

    【讨论】:

      【解决方案3】:

      说 PopulateTree 是您用来填充树视图的函数名称。所以把 PopulateTree 函数放在 !isPostback 里面。

      if (!IsPostBack)
         {
           PopulateTree();
      
         }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-21
        • 2020-12-07
        • 2022-01-08
        • 2018-10-05
        相关资源
        最近更新 更多