Как остановить автоматически сворачивающуюся древовидную структуру при нажатии на дочерний узел asp.net Visual studio 2008 - PullRequest
0 голосов
/ 06 марта 2012

Я использую ASP.NET с C # 3.5 и Visual Studio 2008. Я использую главную страницу и страницы содержимого. У меня есть древовидное меню на главной странице, и когда пользователь выбирает любой элемент меню, я перенаправляю на эту страницу содержимого.

Моя проблема в том, что после перехода пользователя на страницу контента все триоды обновляются и структура сворачивается. Я хочу, чтобы выбранный триод оставался расширенным. Кто-нибудь может мне помочь решить эту проблему ??

Сначала мое древовидное представление работает должным образом. Но некоторые узлы в древовидном представлении не перенаправляются на формы, это означает, что в первый раз все узлы переходят в соответствующие формы. Но в течение d второй раз это не получается. эта проблема решена. evrynodes работает более тщательно. и возникает новая проблема. То есть, узлы в древовидной структуре сворачиваются. Когда мы выбираем родительский дочерний элемент к sub, затем sub, когда мы щелкаем по узлу, древовидное представление автоматически возвращается к родительскому узлу.

Как это реализовать?

Ниже прилагаю мой код:

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

Ответы [ 3 ]

1 голос
/ 06 марта 2012

Немного сложно без какого-либо кода, но я думаю, что ваша проблема в теге asp: TreeView / серверном элементе управления. Проверьте, установлен ли для атрибута ExpandDepth какое-либо значение. Я бы удалил его полностью или установил бы его на «FullyExpand».

0 голосов
/ 13 ноября 2014

Скажите, что PopulateTree - это имя вашей функции, по которой вы заполняете дерево.Поэтому поместите функцию PopulateTree внутри! IsPostback.

if (!IsPostBack)
   {
     PopulateTree();

   }
0 голосов
/ 06 марта 2012

Вам необходимо расширить узел на основе URL новой страницы

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

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