C# Dropdownliste mit WebForms erstllen

Farsia

Newbie
Registriert
Sep. 2014
Beiträge
5
Hallo,

ich möchte gerne mit Visual Studio2012 eine Dropdownliste erstellen. Das ist der Code, den ich momentan habe:

<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a runat="server" href="~/">Home</a></li>
<li><a runat="server" href="~/">News</a></li>
<li><a runat="server" href="~/">Events</a></li>
<li><a runat="server" href="~/Gallery">Galerie</a>

</li>
<li><a runat="server" href="~/Organisation">Organisation</a></li>
<li><a runat="server" href="~/Contact">Kontakt</a></li>
</ul>

Bei Galerie möchte ich 2 Texte als Dropdown hinzufügen, mir klappt das aber nicht so, wie ich es gerne möchte.
Bitte um Hilfe.

Danke
 
Wenn man WebForms verwendet sollte man nicht rein in HTML codieren. Das nötige HTML wird durch ASP.Net erzeugt.

Ein Ansatz wäre sowas:

Code:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" 
            onselectedindexchanged="DropDownList1_SelectedIndexChanged">
            <asp:ListItem>Home</asp:ListItem>
            <asp:ListItem>News</asp:ListItem>
            <asp:ListItem>Events</asp:ListItem>
            <asp:ListItem>Gallery</asp:ListItem>
        </asp:DropDownList>
    </div>
    </form>
</body>
</html>

CodeBehind:

Code:
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            switch (DropDownList1.SelectedValue)
            { 
                case "Home":
                    Response.Redirect("~/");
                    break;
                case "News":
                    Response.Redirect("~/");
                    break;
                case "Events":
                    Response.Redirect("~/");
                    break;
                case "Gallery":
                    Response.Redirect("~/Gallery");
                    break;
            }
        }
 
Wenn ich das mit der Dropdownliste mache, erhalte ich ja einen Pfeil nach unten und das möchte ich nicht. Ich möchte es wie bei einer Homepage haben. Gibt es da noch ein anderes Dropdown oder kann man den Pfeil ausblenden lassen?
 
Also doch keine Dropdown-List, sondern so eine Art Liste wie man sie in vielen Sitemaps findet?

Sowas?

Code:
    <ul class="nav navbar-nav">
        <li><a id="A1" href="~/">Home</a></li>
        <li><a id="A2" href="~/">News</a></li>
        <li><a id="A3" href="~/">Events</a></li>
        <li><a id="A4" href="~/Gallery">Galerie</a>
            <ul>
            <li><a id="A5" href="~/Organisation">Organisation</a></li>
            <li><a id="A6" href="~/Contact">Kontakt</a></li>
            </ul>
        </li>
    </ul>

Wobei Organisation und Kontakt sich beim Klick auf Galerie ausklappen und wieder einklappen?
 
Genau, nur als ich das so gemacht habe, hat es mir eine fette Navigationsleiste angezeigt und die 2 Texte sind sichtbar.
SNAG-0009.jpg

was mach ich nur falsch?
 
Solche DropDown Menübars sind meistens mit JavaScript realisiert.
Die kann man nicht mit 4-5 Zeilen HTML erstellen. Maximal kannst du wohl nur durch eine andere class mit anderer Hintergrundfarbe beim zweiten <ul> den Anschein erwecken dass es ein Dropdown ist. Wirklich auf- und zuklappen wirds sich allerdings nicht.

In WebForms gibt es sogenannte Expander mit denen man einen ähnlichen Effekt erreichen kann, aber am einfachsten ist es wohl man bindet eine fertige JavaScript Datei ein die sich um die Menüs kümmert.
 
Zurück
Oben