2015-07-13 63 views
2
<div id="menu">  
     <ul> 
      <li><a href="#">HOME</a></li> 
      <li><a href="#">ABOUT US</a></li> 

     <li><a href="#">PRODUCTS/a> 
      <ul> 
      <li><a href="#">Product1</a></li> 
      <li><a href="#">Product2</a></li> 
      <li><a href="#">Product3</a></li> 
      </ul> 
     </li>    
    </ul>  

</div> 

這是菜單代碼和菜單項是靜態的,我想顯示product1product2product3動態地從數據庫如何從數據庫中以html格式創建子菜單?

回答

1
我覺得可以用 Repeater控件綁定從服務器端多 <li>標籤

最簡單的方法。

如果您不想回發來刷新菜單項,也可以使用ajax調用來綁定客戶端。

代碼:

也許這將有助於讓你的從服務器端結合的一種方式的想法... ..

ASPX

<ul> 
      <li><a href="#">HOME</a></li> 
      <li><a href="#">ABOUT US</a></li> 

      <ul> 
       <asp:Repeater ID="_rptSubMenu" runat="server"> 
        <ItemTemplate> 
         <li><a href="#"><%Eval(ProductId) %> </a> 
         </li> 
        </ItemTemplate> 
       </asp:Repeater> 


      </ul> 
     </ul> 

CS

public partial class _Default : Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      bindMenu(); 
     } 

     public void bindMenu() 
     { 
      //ADO Code to get menu Items from Database 
      //You can load it directly form DataTable or you can create a LIST with Menu Entity as i have 


      string connectionstring = ""; 
      List<MenuItem> lstMenu = new List<MenuItem>(); 

      SqlConnection con = new SqlConnection(connectionstring); 
      SqlCommand cmd = new SqlCommand("SELECT Id,MenuName FROM TM_Menu", con); 
      SqlDataReader dr; 

      dr = cmd.ExecuteReader(); 
      while (dr.Read()) 
      { 
       lstMenu.Add(new MenuItem { ProductID = dr["Id"].ToString(), Name = dr["Name"].ToString() }); 
      }   

      _rptSubMenu.DataSource = lstMenu; 
      _rptSubMenu.DataBind(); 

     } 
    } 

    public class MenuItem 
    { 
     public string ProductID { get; set; } 
     public string Name { get; set; } 
    } 
+0

如何?,你能更詳細的或寫代碼的代碼? – Elixir

+0

謝謝這是工作 – Elixir

0

嘗試這樣的事情.. 我的數據庫是MS SQL,所以我們可能會有所不同ferent在檢索數據庫中的數據

<div id="menu">  
    <ul> 
     <li><a href="#">HOME</a></li> 
     <li><a href="#">ABOUT US</a></li> 

    <li><a href="#">PRODUCTS/a> 
     <ul> 
     <li><a href="#">Product1</a></li> 
     <li><a href="#">Product2</a></li> 
     <li><a href="#">Product3</a></li> 

     <?php 
      $sqli = "select item from Rroducts "; 
       $stmt = sqlsrv_query($conn, $sqli); 
       if($stmt === false) { 
       die(print_r(sqlsrv_errors(), true)); 
       } 
       while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) { 
        $item= $row[' item']; 
       echo "<li><a href='#'>".$item."</a></li>"; 
       } 
       sqlsrv_free_stmt($stmt2; 
     ?> 

     </ul> 
    </li>    
</ul>  

+0

這是php代碼,我想asp.net c#代碼 – Elixir

+0

啊對不起,先生,我沒有注意到標籤提前 – user5071864

相關問題