2015-07-13 30 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

相关问题