2011-12-05 42 views
0

我用傳統的ASP代碼片段在網頁的菜單部分位於工作的方法:建議使用數據庫查詢轉換經典ASP無序列表到ASP.NET

<ul> 
    <li><a href="/articles/" title="Article">Articles</a> 
    <% 
     sSQL1 = "select zoneid, zonename from xlaANMzones where parentzoneid=0 order by zonename asc" 
     rs.Open sSQL1,cnn,0,1 
    %> 
    <ul> 
    <%while not rs.eof %> 
    <li><a href="/articles/default.aspx?zoneid=<%=rs(0)%>" ><%=rs(1)%></a> 
    <ul> 
    <% 
    sSQL2 = "select zoneid, zonename from xlaANMzones where parentzoneid="&rs(0)&" order by zonename asc" 
    rs1.Open sSQL2,cnn,0,1 
    if not rs1.eof then 
    while not rs1.eof 
    %> 
    <li><a href="/articles/default.aspx?zoneid=<%=rs1(0)%>" ><%=rs1(1)%></a></li> 
    <% 
    rs1.movenext 
    wend 
    End if 
    rs1.close 
    %> 
    </ul> 
    </li> 
    <% 
     rs.movenext 
     wend 
     rs.close  
    %> 
    </ul> 
    </li> 
</ul> 

看來,正在查詢來自數據庫的zoneid和區域名稱的文章列表。我需要將此功能轉換爲帶有彈出式子菜單的ASP.NET菜單。我應該創建一個站點地圖連接到ASP.NET菜單嗎?或者,有沒有更好的轉換方法?

謝謝!

回答

0

一對夫婦的建議:

  • 創建Web用戶控件呈現列表
  • 看看你能不能用一個SQL查詢合併到一個查詢
  • 緩存查詢結果,最好服務器緩存依賴
  • 還應考慮緩存Web用戶控件本身
+0

我應該試圖合併其他無序升有這篇文章的文章?菜單或樹視圖控件是否合適? – SidC

+0

還有哪些其他無序的文章列表? :)我的意思是你應該儘可能減少發送到數據庫的查詢數量,因爲它通常是優化性能的好地方。至於菜單或樹視圖控件,它實際上取決於你的頁面設計。有成千上萬個漂亮的jQuery菜單,除了無序列表之外什麼也不用。但是,如果你的設計更適合ASP.NET控件之一,那麼你可以去... –