2011-08-31 2 views
0

私はASP.NETで全く新しいので、私はそれが簡単な質問だと思う。私のアプリケーションでは、私は、デフォルトのページで、私は次のコードを持って、jQueryのツリービューを使用しよう:jQueryツリービューの順序付けられていないリストをSQLクエリから読み込むにはどうしたらいいですか?

<script src="jquery-1.6.2.js" type="text/javascript"></script> 
    <script src="jquery.treeview.js" type="text/javascript"></script> 

      <script type="text/javascript"> 
        $(document).ready(function() { 
          $("#example").treeview({ 
            persist: "location", 
            collapsed: true, 
            animated: "medium" 
          }); 

        }); 
      </script> 

私は木を移入する必要がある、と私は次の例を使用します。

<ul id="example" runat="server" class="filetree"> 
     <li><span class="folder">Folder 1</span> 
       <ul> 
         <li><span class="file">Item 1.1</span></li> 
       </ul> 
     </li> 
     <li><span class="folder">Folder 2</span> 
        <ul> 
         <li><span class="folder">Subfolder 2.1</span> 
           <ul> 
            <li><span class="file">File 2.1.1</span></li> 
            <li><span class="file">File 2.1.2</span></li> 
           </ul> 
         </li> 
         <li><span class="file">File 2.2</span></li> 
       </ul> 
     </li> 
     <li class="closed"><span class="folder">Folder 3 (closed at start)</span> 
       <ul> 
         <li><span class="file">File 3.1</span></li> 
       </ul> 
     </li> 
     <li><span class="file">File 4</span></li> 
</ul> 

問題がありますSQLクエリを使用してデータベースからツリービューのデータを取得します。

私の質問では、この順序付けられていないリストにデータをどのように埋め込むのですか?ありがとうございます!

答えて

1

編集: これは、厳密に型指定されたオブジェクトをビューに渡す方法です。

ので、同じように、あなたのリストをロードし、あなたのリストは、セッション中に残っていることを確認するために、すべてのポストバックでこのメソッドを呼び出すことができますので、あなたのセッションに追加するメソッドを作成します。

private void LoadMyListToSession() 
{ 
      DataContext ctx = New DataContext(); // instantiate your datacontext if you haven't done so before 
      List<Object> ObjectList = ctx.MyDataTable().ToList(); // load your list 
      Page.Session.Add("MyVariableName", ObjectList); // add your list to the session 
} 

が上のようなコードを実行しますあなたのPage_Loadイベントやあなたがそうのように、あなたのリストは、セッション中に残っていることを確認する他の方法:

private void Page_Load(object sender, System.EventArgs e) { 
    LoadMyListToSession(); 
} 

は、あなたが保存するために使用クラスのリストとして、強く型付けされたオブジェクトあなたのビューを渡します項目あなたのデータベースの中であなたの<ul>を動的に作成するために繰り返します。

<% List<Object> ObjectList = (List<Object>) Session["ObjectList"]; &> 

<% if(ObjectList != null && ObjectList.Count > 0){ %> 
    <ul> 
    <% foreach(Object item in ObjectList) 
    { %> 
     <li><%= item.Name; %></li> 
<% } %> 
    </ul> 
<% } %> 

あなたは上記の例で見ることができるようにObjectListを使用すると、データベースから読み込む項目のリストであれば、あなたを介して反復することができます:例えば、ObjectListがあなたの強く型付けされたリストであると考えて

それと各反復で、あなたが望む反復のアイテムから何らかの性質を持つ<li>を作成します。 上記のように、セッションからオブジェクトをロードする必要があることに注意してください。

まだ質問がある場合は、お尋ねください。

+0

お返事ありがとうございます!私はあなたの助言に従おうとします! –

+0

どのバージョンのASP.NETを使用していますか?それはwebformsアプリケーションですか? – Hallaghan

+0

はい、ウェブフォーム、ASP.Netバージョン4.0です。 1つの愚かな質問 - サーバー側にデータを書き込んだ後、データのリストをビューにどのくらい正確に渡すのですか? –

関連する問題