Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wstawianie elementów do bootstrap-dropdown z SQL Table

W formularzach WebForm można to zrobić na kilka sposobów, ale najpierw musisz utworzyć DIV element menu rozwijanego dostępny z sekcji Code Behind.

Widzisz ten fragment?

<ul class="nav nav-tabs">
    <li class="nav-item dropdown">
        <a class="btn btn-light dropdown-toggle" href="#" id="navbarDropdown1" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            Category
        </a>
        <div id="myDropdownMenu" runat="server" class="dropdown-menu" aria-labelledby="navbarDropdown">
        </div>
    </li>
</ul>

Zauważ, że dodałem 2 atrybuty:id="myDropdownMenu" i runat="serwer" .

Następnie możesz przejść do Code Behind aby rozpocząć wypełnianie menu ze źródła danych.

O ile wiem, są na to co najmniej 2 sposoby.

Manipulując InnerHtml właściwość, tak jak ta :

    private void DisplayMenuByConstructingHtmlTags(List<string> menuList)
    {
        var menuHtml = "";

        foreach (string menuText in menuList)
        {
            menuHtml += "<a class=\"dropdown-item\" href=\"#\">" + menuText + "</a>\n";
        }

        myDropdownMenu.InnerHtml = menuHtml;
    }

Lub dodając menu jako kontrolki podrzędne , tak :

    private void DisplayMenuByAddingChildControls(List<string> menuList)
    {
        foreach (string menuText in menuList)
        {
            var linkMenu = new HyperLink() { CssClass = "dropdown-item", NavigateUrl = "#", Text = menuText };
            myDropdownMenu.Controls.Add(linkMenu);
        }
    }

To Twoja rozmowa, którą wybrać.

Przy okazji, aby uzupełnić ten przykład, możesz spróbować wywołać jedną z tych metod z Page_Load wydarzenie takie jak to :

EDYTUJ:

Na Twoją prośbę zmodyfikowałem próbki, dodając połączenie do tabeli w bazie danych. To jest moduł do ładowania danych :

    private List<string> LoadMenuFromTable()
    {
        string connectionString = ConfigurationManager.ConnectionStrings["YourConnectionStringName"].ToString();

        var retVal = new List<string>();
        using (var connection = new SqlConnection(connectionString))
        {
            using (var cmd = new SqlCommand("SELECT menu_text FROM Table_1", connection))
            {
                connection.Open();
                using (var reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        retVal.Add((string)reader["menu_text"]);
                    }
                }
            }
        }
        return retVal;
    }

A oto jak powinieneś nazwać moduł :

    protected void Page_Load(object sender, EventArgs e)
    {
        var menu = LoadMenuFromTable();

        DisplayMenuByAddingChildControls(menu);
        // or DisplayMenuByConstructingHtmlTags(menu);
    }

Aha, i pamiętaj, aby zaimportować te dwie biblioteki, aby ten przykład działał :

using System.Configuration;
using System.Data.SqlClient;

Mam nadzieję, że to pomoże.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. aplikacja zawiesza się na JSON jparser, aby wykonać żądanie http

  2. Nie można utworzyć tabeli w MySQL, ponieważ już istnieje

  3. Jak wstawić plik do bazy danych MySQL?

  4. jak użyć zmiennej w instrukcji tworzenia bazy danych?

  5. łączenie zewnętrznej bazy danych mysql z php