2012-03-06 9 views
0

C#3.5とVisual Studio 2008でASP.NETを使用しています。私はマスターページとコンテンツページを使用しています。マスターページにツリービューメニューがあり、ユーザーがメニュー項目を選択すると、そのコンテンツページにリダイレクトされます。子ノードasp.netビジュアルスタジオ2008をクリックするとツリービューの構造が自動的に崩壊する方法

私の問題は、ユーザーがコンテンツページに移動した後、すべてのツリーがリフレッシュされ、構造が折りたたまれてしまうことです。私は選択されたtreenodeを拡大したままにしておきたい。 誰でも私にこの問題の解決に手伝ってもらえますか?

最初は私のツリービューは正しく機能しますが、ツリービューのいくつかのノードはフォームにリダイレクトされません。各ノードは対応するフォームに最初に移動します。しかし、d秒間は取得できません。AutoEventWireup = "false"問題が解決されました.evrynodesはproeperly.and nwの問題が発生します。ツリービューのノードは折りたたまれています。私たちが親子を選択すると、sub、thenをクリックしてノードをクリックすると、ツリービューは自動的に親ノードに戻ります。

ありがとうございます。

誰かがplzがコードを送信することを知っているなら、その実装方法。以下は

は私のコードを添付しています:

MasterPage.master:Masterpage.master.csで

<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" > 

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

答えて

1

それはビットが任意のコードを見ることなく困難だが、私あなたの問題がasp:TreeViewタグ/サーバーコントロールにあると考えてください。 'ExpandDepth'属性が任意の値に設定されているかどうかを確認します。私はそれを完全に削除するか、それを 'FullyExpand'に設定します。

+0

私が試した 'ExpandDepth' 私の問題は解決しましたされていないattribute.but ... –

+0

してください、この[スレッド](http://stackoverflow.com/questions/7066868/how-to-make-をチェックa-treeview-unexpandable) – utsikko

+0

再び別の問題があります。ビジュアルスタジオ2008を使って、私がdid notを取得しました。私はビジュアルスタジオ2008でtreeviewの崩壊イベントの前にアクセスできますか? –

0

セイPopulateTreeは、ツリービューの人口であることによってあなたの関数名です。だから、PopulateTree関数を!isPostbackの中に入れてください。

if (!IsPostBack) 
    { 
    PopulateTree(); 

    } 
関連する問題