ASP.net - rozbalovací menu – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

ASP.net - rozbalovací menu – .NET – Fórum – Programujte.comASP.net - rozbalovací menu – .NET – Fórum – Programujte.com

 

XP
~ Anonymní uživatel
401 příspěvků
28. 11. 2012   #1
-
0
-
Nahlásit jako SPAM
IP: 109.80.156.–
Vaizo0
Stálý člen
28. 11. 2012   #2
-
0
-

Zdravím,

předpokládám, že to chceš udělat ve webforms a né MVC. Myslím, že je tam kontrolka Menu, která by se k tomuto účelu dala nejspíš použít (ohnout), ale osobně bych to udělal sám přes javascript a ajax, nemělo by to být nic těžkého.

Nahlásit jako SPAM
IP: 85.93.127.–
Vaizo0
Stálý člen
28. 11. 2012   #3
-
0
-

A nebo když se ti to nebude chtít dělat přes AJAX, tak můžeš na stránku vygenerovat obsah celého menu a pomocí Javascriptu nebo jQuery to zobrazovat a skrývat třebas jen přidáním nebo ubráním css tříd. jQuery na to má myslím metody Show a Hide.

Nahlásit jako SPAM
IP: 85.93.127.–
Evzen+2
Návštěvník
28. 11. 2012   #4
-
0
-
Nahlásit jako SPAM
IP: 193.179.183.–
XP
~ Anonymní uživatel
401 příspěvků
28. 11. 2012   #5
-
0
-

diky,

Mám menší problém s asp.net menu. Pokud položky menu mají nastavený NavigateURL, pak se nevyvolá událost OnMenuItemClick. Jak to udělat aby došlo k OnMenuItemClick i v tomto případě?

<asp:Menu ID="MainMenu" runat="server" StaticDisplayLevels="3" OnMenuItemClick="MainMenu_click">

            <Items>
            <asp:MenuItem Text="File" Value="File">
                <asp:MenuItem Text="New" Value="New"></asp:MenuItem>        <!-- Po cliknutí dojde k události  -->
                <asp:MenuItem Text="Open" Value="Open" NavigateUrl="~/neco.aspx"></asp:MenuItem>      <!-- Po cliknutí nedojde k události  -->
            </Items>
        </asp:Menu>
Nahlásit jako SPAM
IP: 109.80.156.–
XP
~ Anonymní uživatel
401 příspěvků
28. 11. 2012   #6
-
0
-

No zatim jsem to "vyresil" oklikou. 

Původně jsem si do MenuItem.value ukládal pouze id pro identifikaci hlavních položek menu. Teď si tam ukládám i adresu URL odkazu (což pak musím zase v kódu řešit a rozdělit string pomocí funkce split, což mi přijde takové celé nečisté řešení). Pokud teda nemá hlavní položka submenu, pak se přejde na danou stránku přímo z kódu, takže nemusím nastavovat NavigateURL. V opačném případě se vytvoří submenu.

Jinak menu načítám z DB. Ještě to nějak naskinovat, což dopadne hůř než kód   .

Nahlásit jako SPAM
IP: 109.80.156.–
Vaizo0
Stálý člen
29. 11. 2012   #7
-
0
-

Možná už jsem moc času strávil s MVC, ale už se snažím kontrolkám, co nejvíc vyhnout.

Já bych to řešil přes jQuery:

<!doctype html>
 
<html lang="en">
<head>
    <meta charset="utf-8" />
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
    <script src="http://code.jquery.com/jquery-1.8.3.js"></script>
    <script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>

    <script>
    $(function() {
        $( "#accordion" ).accordion();
    });
    </script>
</head>
<body>
 
<div id="accordion">
    <h3>Section 1</h3>
    <div>
	<ul>
		<li>1. odkaz</li>
		<li>2. odkaz</li>
	</ul>
    </div>
    <h3>Section 2</h3>
    <div>
		<li>1. odkaz</li>
		<li>2. odkaz</li>
    </div>
    
</div>
 
 
</body>
</html>

Vygenerovat do toho můžeš cokoli chceš třeba repeaterem, nastylovat to půjde pomocí CSS krásně a markup bude čistý. Pochopitelně tohle je statické řešení, dynamické tahání ajaxem z databáze by bylo odhadem o 10 řádků delší (což stejně bude, když tam dáš repeater(y)).

Přeji hezký den

Nahlásit jako SPAM
IP: 94.113.35.–
Vaizo0
Stálý člen
29. 11. 2012   #8
-
0
-

Jinak řešit to Ajax control toolkitem by to taky určitě šlo. 

Zkus se podívat na ten kód, co jsem semka dal já i na ten, na který se odkazoval Evzen a vyber si, co ti líp sedí nebo co dřív pochopíš  

Nahlásit jako SPAM
IP: 94.113.35.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 14 hostů

Podobná vlákna

ASP.NET, C# - Renderování komponenty Menu — založil Anonymní uživatel

Asp.net: c#: řazení položek v Menu — založil Anonymní uživatel

Rozbalovací menu — založil Jan Malý

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý