Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWünsch Dir wasWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Simples asp.net menu selbst erstellen

Mitglied: Herbrich19

Herbrich19 (Level 2) - Jetzt verbinden

25.06.2017 um 23:55 Uhr, 1362 Aufrufe, 22 Kommentare, 2 Danke

Hallo,

Ich möchte gerne eine eigenes ASP.NET Menü Steuerelement erstellen was einfachen HTML Code rendert. Ich möchte ein HTML5 Menü erstellen wo ich die CSS Klassen überall wo nötig anpassen kann. Der Nachbau des Microsoft Oreginal ASP.NET Menüs ist schwieriger als gedacht.

Ich möchte eigentlich nur die HTML Tags rendern aber nicht die extra Styles und Javascripts und was sobst noch so raus kommt. Ziel der Aktion ist es ein Menü aus einen HTML5 Template in asp.net verwenden zu können.

Ich habe schon seid Tagen gegoogelt und rum probiert. Aber ich komme da einfach nicht mehr weiter weswegen ich jetzt doch mal ne Frage poste

Gruß an die IT-Welt,
J Herbrich
Mitglied: BassFishFox
26.06.2017 um 01:19 Uhr
Halloele,,

Kennst Du diesen Anlaufpunkt?

https://forums.asp.net/

Ist vielleicht einfacher dort zu fragen, wenn das hacken nicht so einfach ist.

BFF
Bitte warten ..
Mitglied: atze187
28.06.2017 um 08:31 Uhr
Hi,

was für ein Menü soll das "Microsoft Oreginal ASP.NET Menü" denn sein? Reden wir von dem hier: 1? Falls ja, kannst Du Dir davon eine neue Klasse ableiten und musst dann nur die entsprechenden Members überschreiben.

Gruß,
André
Bitte warten ..
Mitglied: Herbrich19
29.06.2017 um 00:29 Uhr
Hallo,

Das war auch meine erste Idee. Ich muss den Renderer eh komplett neuschreiben. Ich will ein Menü was so aussieht wie das von uke.de, und auch in HTML5 also Nav gegen Div

Gruß an die IT-Welt,
J Herbric
Bitte warten ..
Mitglied: atze187
29.06.2017 um 08:52 Uhr
Na dann: los geht's. Die Funktionalität kommt ja von FlexNav.
Bitte warten ..
Mitglied: Herbrich19
29.06.2017 um 14:01 Uhr
Hallo,

Momentan bin ich er dabei den MenüEditor zu ReverseEngeneeren damit ich das neue Menü auch gut zur Laufzeit Designen kann. Ich bin schon sehr weit gekommen, nun währe es aber sinvoll wen jemand noch ein Tipp hätte wie ich herausfinden kann auf welcher Ebene Gerendert wird.

Oder kann ich das einfach bei der Rekursion durch eine Zählervariable in der Klasse Berechnen und dann als Argument Rekursiv übergeben?

Gruß an die IT-Welt,
J Herbrich
Bitte warten ..
Mitglied: atze187
29.06.2017 um 14:29 Uhr
Den Editor musst du meines Erachtens gar nicht anfassen. Du solltest die Methode Render überschreiben: https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.menu. ...
Bitte warten ..
Mitglied: Herbrich19
29.06.2017 um 14:44 Uhr
Hallo,

Das Problem ist dass ich das ganze Menu selbst neu gecodet habe, teile kommen aus einen OpenSoruce Projeckt und andere Teile habe ich via Reverse Engenering (Telerik Decompilierer) aus der System Web geholt. Der ganze Kram ist Tief ins .net Framework verzweigt und einige benötigte Klassen sind Friend deklariert was einige weitere Probleme bereitstellt.

Ich werde aber noch die Möglichkeit einbauen mein Menu über MSSQL zu füttern und was sonst noch so möglich ist. Und ich versuche es so generisch wie möglich zu gestalten so dass ich es wieder verwenden kann. Das Menü Item braucht 2 CSS Klassen die dann auch noch durchs Item selber überschreiben werden können. So sieht das Model Menü (von www.uke.de) aus.
Und daran erkennt man auch sehr gut warum ich für einige Items die Css Klasse überschreiben möchte / muss. Ich habe zumindest kein Plan wie ich dieses Menü oder vergleichbares mit einen Oreginalen ASP.NET Menü nachbauen kann, das einzige was gut kommt ist das erste Level (Static) aber Submenüs kann ich vergessen. Ich hatte beim ersten Layout (https://www.herbrich.biz/) einfach die schiere Content Menge verplant so dass ich z.B. die Meta Navigation komplett versäumt habe und deswegen wird die Website neu Strukturiert.

Die Website des UKE Hamburg hat mich dann halt eben inspiriert einfach mal ein ähnliches Layout zu entwerfen. Die Setzen alerdings ein GlasFish Server (Java) in Backend ein und ich halt eben ASP.NET.

Ich meine mit MVC würde sowas sicherlich auch machbar sein aber ich nutze halt eben lieber die ASP.NET WebForms (Bitte jetzt keine Kritik das MVC besser währe weil genau so umnötig wie C# vs VB.NET, ich mag WebForms halt mehr auch wen ich bei WebForms alles eh über den Quelltext Editor und nicht alles über die GUI Designer mache mag ich WebForms einfach am meisten).

Gruß an die IT-Welt,
J Herbrich
Bitte warten ..
Mitglied: atze187
29.06.2017 um 15:02 Uhr
Du renderst in jeder Seite 300+ kB nur fürs Menü? Warum erstellst du das Menü nicht clientseitig, und holst vom Server nur die Daten als JSON. Damit könnten die Daten fürs Menü gecached werden und Javascript brauchst du für das Menü sowieso.
Bitte warten ..
Mitglied: Herbrich19
29.06.2017 um 16:41 Uhr
Hallo,

Nein, ich Rendere nicht das volle Menü von uke.de, ich habe ne einfachere Menu Structure angelegt aber von schema her soll es genau so gerendert werden. Es geht einzig um die Struktur des Menüs die ich nachbauen will

Gruß an die IT-Welt,
J Herbrich
Bitte warten ..
Mitglied: Herbrich19
01.07.2017 um 15:41 Uhr
Hallo,

Ich komme mit den Rendern einfach nicht klar. Ich muss CssClassen für li und ul auf Childitem ebene setzen. Habe es sowohl mit meiner eigen Entwicklung als auch mit den ASP.NET Menu probiert. Nur beim überschriebenen ASP.NET Menü muss ich gleich die Renderer mit überschreiben weil ich kann anscheinend nicht einfach so eine neue Abgeleitete klasse des Renderers erstellen da der ganze Mist Friend ist -.-

Hier mein Rendering Code von eigenen Controll:
Gruß an die IT-Welt,
J Herbrich
Bitte warten ..
Mitglied: atze187
03.07.2017 um 16:39 Uhr
Das Menü-Control von ASP.NET brauchst du doch gar nicht. Also reicht dein eigenes Control aus. Was passiert denn in deinem Code nicht. Und was ist ein KarowNavigatorItem?
Bitte warten ..
Mitglied: Herbrich19
03.07.2017 um 16:58 Uhr
Hallo,

Das KarowNavigatorItem ist das equivalent zum MenuItem, technisch gesehen ist es einfach nur eine verschachtelte Auflistung. Also es wird nichts gerendert außer halt das ul li a Schemata in einen nav tag eingebettet. Der sinn ist das dass eigentliche Menu durch ein Stylesheet gemacht wird, der Server kümmert sich also lediglich um HTML ausgabe.

Ich meine wer braucht Control Adapter oder ähnliches wen alles eh durch Responsive CSS gemacht wird und auf die Besucher die mit IE6 oder sowas ankommen kann ich gut und gerne verzichten. Die sehen die Seite halt so wie ihr Browser es kann. Aber bei Zeitgemäßen HTML5 wo Responsive Design läuft (denke inzwischen bei den meisten^^) geht die Seite auf Handy, Tablet und PC super.

Gruß an die IT-Welt,
J Herbrich
Bitte warten ..
Mitglied: atze187
03.07.2017 um 18:05 Uhr
Noch mal in Klartext: Wie lautet dein/e Problem/Frage? Oder ist das bereits gelöst?
Bitte warten ..
Mitglied: Herbrich19
03.07.2017 um 19:58 Uhr
Hallo,

Mein Problem ist das ich mit den Normalen ASP.NET Menü nur die erste Ebene sauber hinbekomme.
jenniframe_screenshoot_x14 - Klicke auf das Bild, um es zu vergrößern

Mein Ziel ist es folgenden Quelltext
uke_navigator - Klicke auf das Bild, um es zu vergrößern

Als ASP.NET Server Control zu rendern.

In der Zwischenzeit habe ich noch ein wenig auf GitHub gesucht und beim Bootstrap Menu was gefunden was ich verwenden kann. Aktuell arbeite ich immer noch am Rendering. Das eigentliche Kontroll ist eigentlich im Grunde genommen zwar Fertig jedoch wird nichts gerendert weil es an genau dieser Methode klemmt.

Der htmltextwriter scheint ein Bug zu haben, die Atribute werden neben und nicht im Tag plaziert was sinlosen Text produziert aber kein Menü. Das Control soll ganz ohne CSS und JavaScript auskommen so dass ich es mit einen eigenen Stylesheet ohne Probleme anpassen kann und auch bei bedarf eigenes Javascript schreiben kann.

Aber dank euren Antworten bin ich schon relativ weit gekommen.

Gruß an die IT-Welt,
J Herbrich
Bitte warten ..
Mitglied: atze187
03.07.2017 um 20:26 Uhr
Mein Problem ist das ich mit den Normalen ASP.NET Menü nur die erste Ebene sauber hinbekomme.
Woran ist das zu erkennen? An dem span-Tag das du hinter jedes ul-Tag renderst?

Der htmltextwriter scheint ein Bug zu haben, die Atribute werden neben und nicht im Tag plaziert was sinlosen Text produziert aber kein Menü.
Nein.
Bitte warten ..
Mitglied: Herbrich19
05.07.2017 um 22:00 Uhr
Hallo,

Woran ist das zu erkennen? An dem span-Tag das du hinter jedes ul-Tag renderst?

Nein, das ASP.NET Menu ist dumm, es ist nicht in der lage bei nodes mit subitems die css klasse anzupassen und es produziert einfach viel zu viel balast an Javascript und Css! Was ich machen möchte ist ein passendes Menü zu erstellen was HTML liefert was zur vorgegebenen CSS Datei passt.

Im Grunde genommen wird eine Webdesign "geclont" zumindest in seiner Grundfunktionalität. Die oreginal Website ist sagen wir mal so doch sehr Steif. Mein System wird mit echtzeit Daten aus Streams gefüttert. Aber ich will das Design perfekt kopieren und das Menü ist bis jetzt dass aller Schwirigste!

Gruß an die IT-Welt,
J Herbrich
Bitte warten ..
Mitglied: atze187
06.07.2017 um 07:11 Uhr
Also, wenn ich das richtig sehe hast du dich ja schon entschieden auf das ASP.NET-Menü zu verzichten und jetzt geht es hier in deinem anderen Thread (https://www.administrator.de/forum/htmltextwriter-stackoverflow-exceptio ...) weiter, richtig?
Bitte warten ..
Mitglied: Herbrich19
07.07.2017 um 14:28 Uhr
Hallo,

Richtig, es kommt zu Fehlerhaften Ausgaben, ich schreibe erst das Atribut, Rendere dann den begin Tag, den Inhalt als Text (link also a) und dann den End Tag. Neben der Ausgabe kommen dann aber auch noch mal so richtig tolle Stackoverflows. Ich denke das kann nur mit der Rekursiven Abfrage der Daten aus den Listen zusammenhängen.

Deswegen die Frage, wie kann ich das Menu so rendern dass ich rekursiv alle Items abrufen kann und dann eine verkettete UL LI Struktur drauß machen kann wo dann alle class Atribute an ihren platz sind?

Gruß an die IT-Welt,
J Herbrich
Bitte warten ..
Mitglied: Herbrich19
08.07.2017 um 18:48 Uhr
Hallo,

Zum Bug im HTML TextWriter


Dieser Code...
....bringt
dieses Resultat.

Wie kann ich ein HTML5 Nav Tag mit dem HTML Textwriter rendern was auch die passenden Atribute drinnen hat?

Gruß an die IT-Welt,
J Herbrich
Bitte warten ..
Mitglied: atze187
LÖSUNG 10.07.2017 um 09:38 Uhr
Hier kommen zwei Dinge zusammen:

  1. writer.WriteAttribute: Hiermit wird das Tag direkt in den Output geschrieben. Nimm stattdessen AddAttribute, denn damit wird das Attribut mit dem nächsten RenderBegin ausgegeben.
  2. Durch die eckigen Klammern in HtmlTextWriterAttribute.[Class] wird der Wert oder der Index des Class-Eintrages in der enum HtmlTextWriterAttribute ausgegeben, nicht der Name des Eintrages. Nimm die Klammern weg und es löfft.
Bitte warten ..
Mitglied: Herbrich19
10.07.2017 um 16:40 Uhr
Hallo,

Ich habe es hinbekommen vielen dank. Hier das Resultat
uke_hack1 - Klicke auf das Bild, um es zu vergrößernuke_hack2 - Klicke auf das Bild, um es zu vergrößern

Tausend Dank an alle die mir dabei geholfen haben

Gruß an die IT-Welt,
Jenni Herbrich
Bitte warten ..
Mitglied: Herbrich19
24.07.2017 um 00:29 Uhr
Die Website läuft mit den neuen Menüs echt super. https://www.herbrich.biz/ wer sich das Resultat ansehen will. Jetzt arbeite ich nur noch am SEO also mache ein bissen OnPage Optimierung.

Gruß an die IT-Welt,
J Herbrich
Bitte warten ..
Ähnliche Inhalte
Visual Studio
Erfahrungen mit ASP.NET
gelöst Frage von HyruleVisual Studio3 Kommentare

Hallo, ich möchte gerne (bzw. soll) die Infrastruktur unserer webbasierten Verwaltungssysteme umbauen. Unser "aktuelles" ist noch von 2010, noch ...

Windows Update

WSUS ASP.NET System.NullReferenceException

Frage von AdmimimistratorWindows Update5 Kommentare

Moin, Ich lasse regelmäßig über geplante Aufgaben die WSUS Serverbereinigung laufen. In letzter Zeit bricht Invoke-WsusServerCleanup -CleanupUnneededContentFiles immer öfters ...

Webentwicklung

Jeden Link umschreiben ASP.NET

gelöst Frage von Herbrich19Webentwicklung7 Kommentare

Hallo, Ich würde gerne auf meiner Homepage www.herbrich.biz jeden Link umschreiben, genauer gesagt möchte ich wen der Link auf ...

Windows 10

Erfahrungen mit open shell menu

gelöst Frage von DerWoWussteWindows 106 Kommentare

Kurze Frage an Nutzer von open shell menu. Habt Ihr unter Windows 10 damit jemals irgendwelche Probleme festgestellt?

Neue Wissensbeiträge
Windows Server
Windows DNS Server Denial of Service Vulnerability
Information von Dani vor 1 TagWindows Server

Moin, Microsoft is aware of a vulnerability involving packet amplification that affects Windows DNS servers. An attacker who successfully ...

Batch & Shell

Automatisches Mailing im Batch mit mit sTunnel und Blat.exe

Anleitung von JHB-Kaltduscher vor 1 TagBatch & Shell3 Kommentare

Ich habe die Lösung für die Frage: Ich kann GoogleMail SMTP nicht einrichten? Folgende Teile nötig: sTunnel + blat.exe ...

Entwicklung
NVIDIA KI programmiert PacMan neu
Information von lcer00 vor 3 TagenEntwicklung

Hallo, Das dürfte ein wichtiger Meilenstein in der Evolution von KI sein. Die Matrix und Skynet lassen schon mal ...

Windows Tools
Windows Terminal 1.0 erschienen
Information von Frank vor 6 TagenWindows Tools

Auf der Microsoft Build hat Microsoft Windows Terminal Version 1.0 veröffentlicht. Die finale Version kann entweder über den Windows ...

Heiß diskutierte Inhalte
Hardware
Gaming-Laptop
Frage von MrLabelHardware42 Kommentare

Hallo, ich würde mir gerne meinen ersten Gaming Laptop kaufen. Meine Frage ist, komme ich mit maximal 1000,- hin ...

LAN, WAN, Wireless
WLAN-Reichweite verstärken
Frage von f3nrIsLAN, WAN, Wireless20 Kommentare

Hallo, ich habe von einem Bekannten den Auftrag bekommen, mich ein bisschen schlau zu machen, wie man auf seinem ...

Datenbanken
Oracle Standard Lizenzierung - Trennung von der VMWare Farm
Frage von inspiratioDatenbanken17 Kommentare

Hallo zusammen, die Thematik ist einwenig komplex. Wir haben einen Server worauf eine Oracle Datenbank läuft. Dieser Server ist ...

Microsoft
Automatischer Neustart trotz aktiver GPO mit Option "Keinen automatischen Neustart."
Frage von diekotteMicrosoft14 Kommentare

Guten Morgen, ich bin relativ neu hier im Unternehmen und die User klagen, dass Sie morgens kurz nach dem ...