2017-03-04 3 views
0

Ich habe ein Problem, weil ich nicht weiß, wie man Unteransicht in Benutzer-Dashboard schreibt.ASP.Net MVC | Wie man Subviews in Ansicht hinzufügt

Beispiel:

Ich habe ein Armaturenbrett für angemeldete Benutzer und es gibt Weg Armaturenbrett/Profil. Dashboard-Controller, Profil - Ansicht. In Profilansicht möchte ich Abschnitte/Unteransichten erstellen (ich weiß nicht, wie es heißt) namens Übersicht, persönliche Daten, Passwort ändern.

Ich habe ein Menü auf der linken Seite und ich möchte, dass wenn ich auf "persönliche Daten" klicken, Inhalt mit persönlichen Daten in den Container auf der rechten Seite geladen wird - aber ohne alle Seite neu zu laden. Die gleiche Situation mit dem Klicken auf "Passwort ändern", ich möchte den Inhalt der "Passwort ändern" -Ansicht auf der rechten Seite zeigen - ohne neu zu laden.

Wie kann ich es bekommen? Könnte jemand helfen?

Vielen Dank im Voraus!

+0

Sie benötigen Javascript und AJAX, um Inhalt dynamisch in die Ansicht zu laden, ohne die Seite zu aktualisieren. –

+0

@StephenMuecke Ich meine, ich muss ActionResults Methoden mit Aktionen erstellen, was ich brauche? und separate Teilansichten zum Ändern von Passwort, persönlichen Daten und Übersicht? Ich habe recht? – vlan99

+0

Ja. Wenn Sie ein Popup-Dialogfeld mit einem Formular zum Ändern des Benutzerkennworts anzeigen möchten, verwenden Sie say '$ (someElement) load ('@ Url.Action (...)')', das eine Servermethode aufruft, die eine partielle zurückgibt Blick auf Ihre 'ResetPasswordForm' und fügt es in 'someElement' ein –

Antwort

0

Ist das wonach Sie suchen? Partial Views

+0

Ja, aber wenn ich nicht falsch liege, können Teilansichten verwendet werden, wenn die Seite nicht neu geladen werden soll. Ich meine, dass Teilansichten permanent zur Hauptansicht gehören. Ich möchte, dass diese "Teilansichten" nur geladen werden, wenn ich im Menü auf die richtige Schaltfläche klicke. – vlan99

+0

Wie oben erwähnt. Ich schlage vor, websockets anstelle von anderen Techniken zu verwenden. Werfen Sie einen Blick darauf - https://radu-matei.github.io/blog/aspnet-core-websockets-middleware/ und auch diesen Beitrag - https://radu-matei.github.io/blog/real-time -ASPnet-Kern / –

0

Ich würde zurück Teilansichten von Controllern und AJAX erhalten Anfragen.

In Ihrem Controller

public class SomeController : Controller 
{ 
    [HttpGet] 
    public ActionResult SomeAction() 
    { 
     // do some stuff 
     return PartialView(); 
    }  
} 

In Ihrem js Skripte

$.ajax({ 
    url: '/Some/SomeAction', 
    contentType: 'application/html; charset=utf-8', 
    type: 'GET', 
    datatype: 'html' 
}) 
.success(function (result) { 
    $("#container").html(result); 
}) 
.error(function (xhr, status) { 
    alert("We are having trouble, please try again later"); 
}); 

Natürlich ist der beste Weg, um diese Dinge zu handhaben ist mit einem vorderen Ende Framework wie Winkel 2 oder reagieren.

Verwandte Themen