【问题标题】:How to create submenu in html format from database?如何从数据库中创建 html 格式的子菜单?
【发布时间】:2015-10-01 07:49:32
【问题描述】:
<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

【问题讨论】:

    标签: c# asp.net sql-server submenu


    【解决方案1】:

    我认为最简单的方法是使用 repeater control 从服务器端绑定多个 &lt;li&gt; 标签。

    如果您不想回发刷新菜单项,也可以使用 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; }
        }
    

    【讨论】:

      【解决方案2】:

      试试这样的.. 我的数据库是 ms sql,所以我们在数据库中检索数据的代码可能会有所不同

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

      【讨论】:

      • 对不起先生,我之前没有注意到标签
      猜你喜欢
      • 2015-09-30
      • 1970-01-01
      • 1970-01-01
      • 2016-12-11
      • 1970-01-01
      • 2016-12-09
      • 1970-01-01
      • 2012-10-31
      • 1970-01-01
      相关资源
      最近更新 更多