myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
   » Plugin für Firefox
   » Plugin für IE
   » Gadget für Windows
» Regeln
» Wie poste ich richtig?
» Datenschutzerklärung
» wbb-FAQ

Mitglieder
» Liste / Suche
» Stadt / Anleitung dazu
» Wer ist wo online?

Angebote
» ASP.NET Webspace
» Bücher
» Zeitschriften
   » dot.net magazin

Ressourcen
» guide to C#
» openbook: Visual C#
» openbook: OO
» MSDN Webcasts
» Search.Net

Team
» Kontakt
» Übersicht
» Wir über uns
» Impressum

» Unsere MiniCity
MiniCity
» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Web-Technologien » Treeview Daten in ASP.NET MVC nach document.ready() nachladen
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Treeview Daten in ASP.NET MVC nach document.ready() nachladen

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Telefisch Telefisch ist männlich
myCSharp.de-Mitglied

Dabei seit: 28.04.2008
Beiträge: 372
Entwicklungsumgebung: VS2017


Telefisch ist offline

Treeview Daten in ASP.NET MVC nach document.ready() nachladen

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo Forum,
ich muss einen Treeview (bootstrap-treeview von Jon Miles) mit Daten füllen. Aufgabe dieses Treeviews ist eine Auswahl an Datensätzen anzuzeigen, die man dann als Vorlage zum Kopieren auswählt.
Da dieser Treeview aber nicht immer benötigt wird, wäre es sinnvoll ihn erst zu füllen wenn er wirklich gebraucht wird.

Dieser Tree ist derzeit in einem hidden modalen Dialog untergebracht und bekommt seine Daten als Json-Text über den ViewBag.
Nun möchte ich quasi in dem Moment wenn der modale Dialog sichtbar wird erst die Daten laden.

Idee war eine Action (JsonResult) mittels Ajax anzutriggern und die empfangenen Daten dann dem Treeview zuzuweisen.
Blöderweise muss dafür aber anscheinend die View neu geladen werden.
Wie könnte man so ein "popup"-Treeview anders erzeugen oder die Daten eben später in die View laden?

Das modale view derzeit:

XML-Code:
    <!-- ################### Modaler Dialog zur Auswahl Copy ###################### -->
    <div class="modal fade" id="copyDialog" tabindex="-1" role="dialog" aria-labelledby="copyDialogLabel" aria-hidden="true">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <!-- Header -->
                <div class="modal-header">
                    <h5 class="modal-title" id="copyDialogLabel">Funktionsgruppe aus Vorlage kopieren</h5>
                    <button type="button" class="close" data-dismiss="modal" aria-label="close">
                        <span aria-hidden="true">&times;</span>
                    </button>
                </div>

                <!-- Body -->
                <div class="modal-body">
                    <form id="functionSelectForm">
                        <div id="copyTree" class=""></div>
                    </form>
                </div>

                <!-- Footer -->
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-dismiss="modal">Abbrechen</button>
                    <button type="button" class="btn btn-primary" id="copyDialogOk">Ok</button>
                </div>
            </div>
        </div>
    </div>

Die Initialisierung sieht derzeit so aus:

XML-Code:
    <!-- SCRIPTSECTION -->
    <script type="text/javascript">
// ########## COPYTREE #############
    //CopyTree Initialisieren
    var CopyTree;
    var treeData = @Html.Raw(ViewBag.copyData);
    CopyTree = $('#copyTree').treeview({
        data: treeData,
        showCheckbox: true,
        checkedIcon: "far fa-check-circle",
        uncheckedIcon: "far fa-circle",
        expandIcon: "fa fa-caret-right",
        collapseIcon: "fa fa-caret-down",
        emptyIcon: "fa",
        selectedIcon: "fa fa-map-marker-alt",
        showTags: true,
        levels: 0,
        enableLinks: true
    });
23.01.2019 16:18 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

images/avatars/avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.107
Herkunft: Leipzig


MrSparkle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

MVC ist nicht direkt dafür gemacht, dynamische Seiten zu erstellen (dafür eignen sich Technologien wie Angular besser), aber du kannst z.B. per jQuery einen Ajax-Request machen, um die Daten abzuholen. Hier gibt es ein Beispiel:  How to dynamically load partial view Via jquery ajax in Asp.Net MVC
23.01.2019 16:53 Beiträge des Benutzers | zu Buddylist hinzufügen
Telefisch Telefisch ist männlich
myCSharp.de-Mitglied

Dabei seit: 28.04.2008
Beiträge: 372
Entwicklungsumgebung: VS2017

Themenstarter Thema begonnen von Telefisch

Telefisch ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ja, das Abholen der Daten ist sowiet kein Problem.
Nur wie bekomme ich sie an das Treeview gebunden, ohne die View neu zu laden?
Irgendwie stehe ich grade etwas auf'm Schlauch.

...würde man dann den Tree in eine partialview packen und nur die aktualisieren?
Geht das?

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Telefisch am 24.01.2019 10:59.

24.01.2019 10:55 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

images/avatars/avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 12.380
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von Telefisch:
...würde man dann den Tree in eine partialview packen und nur die aktualisieren?
Geht das?

Natürlich nicht. ASP.NET MVC ist eine reine Server Side Technologie.
Da gibt es kein "partielles Aktualisieren" von HTML aus dieser Richtung.

Alles, was Du auf dem Client auf einer Seite einzeln laden/ersetzen willst, muss per JavaScript erfolgen.
Du kannst also auf dem Server entweder Json erzeugen und das via JavaScript dann in die View einbetten, oder eben HTML und ein ganzes Element via JavaScript aktualisieren.

Aber in Anbetracht der anderen Threads scheinst Du Dich leider weder in die Web Basics noch in die ASP.NET Basics eingearbeitet zu haben.
Das ist aber leider bei Webanwendungen unerlässlich. Ohne das Verständnis, wie HTTP bzw. die Sache im Browser abläuft, wirds schwer.
24.01.2019 11:27 Beiträge des Benutzers | zu Buddylist hinzufügen
Telefisch Telefisch ist männlich
myCSharp.de-Mitglied

Dabei seit: 28.04.2008
Beiträge: 372
Entwicklungsumgebung: VS2017

Themenstarter Thema begonnen von Telefisch

Telefisch ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ach Abt, es ist immer wieder schön wie Du einen motivieren kannst.
Kannst Du Deine Kommentare nicht einfach mal für Dich behalten?

"Du hast Dich hier nicht eingearbeitet, Deine Programmierung stinkt, Alles was Du machst ist kein best practice"

Ich hab echt langsam keinen Bock mehr auf dieses Forum.
Ich habe den ganzen Tag überlegt, gestern ob ich hier überhaupt noch ne Farge stellen darf und prompt gibt's wieder auf's Maul!

Kenn zufällig jemand ein Anfängerfreundlicheres Forum als Dieses?
Ich bin's Leid!

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Telefisch am 24.01.2019 11:42.

24.01.2019 11:41 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

images/avatars/avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 12.380
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Wir (oder auch ich) versuche Dich auf den richtigen Weg zu schieben. Ich verwende schließlich hier auch meine Frezeit um auch *Dir* weiter zu helfen.
Wenn Du Dich mit einer Technologie nicht richtig beschäftigen willst: okay. Aber was sollen wir denn dann tun, den Code für Dich schreiben?
Rede hier auch nicht von 2 Wochen Intensivkurs, sondern von wenigstens nen paar Stunden Tutorials.

Das Forum - auch andere nicht - sind nicht dazu da, dass sie Lehrer spielen und Dir die Technologie beibringen.
Foren helfen bei konkreten Problemen. Wir können aber nicht für Dich eine Technologie erlernen.
Das musst halt schon selbst machen.
Im Endeffekt ist es ja auch für Dich nicht sonderlich angenehm, wenn Du alleine nicht weiter kommst...

Wenn Dir da die Motivation fehlt, dann brauchst das nicht auf meine neutral sachlichen Aussagen schieben. Daumen hoch
24.01.2019 11:43 Beiträge des Benutzers | zu Buddylist hinzufügen
Telefisch Telefisch ist männlich
myCSharp.de-Mitglied

Dabei seit: 28.04.2008
Beiträge: 372
Entwicklungsumgebung: VS2017

Themenstarter Thema begonnen von Telefisch

Telefisch ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Wie Du meinst.
24.01.2019 11:47 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als ein Monat.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team. Alle Rechte vorbehalten. 23.02.2019 05:29