2017-07-18 6 views
0

Ich arbeite gerade an einem Formular. Wenn im Formular ein Artikel nicht benötigt wird, können Sie auf die Schaltfläche Hinzufügen klicken, und Sie gelangen zu einem neuen Formular, in dem Sie den Artikel hinzufügen können. Anstatt meiner Ansicht zu einer anderen Seite zu gehen, möchte ich, dass sie über dem Formular angezeigt wird, damit der Benutzer den Artikel schnell hinzufügen kann und keine Seiten reisen muss. meinASP.Net Kernansicht als Popupbox

Hier ist ein snipit von Create.cshtml

<div class="form-group"> 
    <label asp-for="INT_CertificationsID" class="col-md-2 control-label"></label> 
    <div class="col-md-3"> 
     <select asp-for="INT_CertificationsID" class ="form-control" asp-items="ViewBag.INT_CertificationsID"></select> 
    </div> 
    <a class="btn btn-default" asp-area="" asp-controller="INT_Certifications" asp-action="Create">Add Certification</></a> 
</div> 

Wenn das Add-Zertifizierung Attribut geklickt wird ich eine Box auf die Create.cshtml für die Zertifizierung Pop-up möchte. Damit sie es schnell zur Liste hinzufügen und das Formular weiterhin ausfüllen können.

Ich habe nach mehreren Beispielen gesucht, aber die meisten von ihnen sind entweder zu alt, zu lang, oder funktionieren nicht in .netcore wegen nugget-Paketfehlern mit JqueryUI.

Antwort

0

Ich würde Teilansicht in einem versteckten Div zusammen mit den Seiten laden, die sie benötigt und dynamisch mit JavaScript bei Bedarf angezeigt. Verwenden Sie keine Formulare zum Senden einer http-Anfrage, sondern verwenden Sie AJAX.

Die Verwendung von Popups kann gegen Sie arbeiten, weil Browser standardmäßig mit Popup-Blockern ausgestattet sind. Könnte an deiner Devbox arbeiten, aber es könnte anderswo ein völlig anderes Verhalten haben.

Die Verwendung von Formularen zum Senden einer Anforderung erfordert, dass die Seite neu geladen wird, was keine gute Benutzererfahrung bietet.

Fix Ihre Lösung, verwenden Sie kein Nugget für clientseitige Skript. Verwenden Sie stattdessen Bower. Hier ist ein Link https://docs.microsoft.com/en-us/aspnet/core/client-side/

0

Sie müssen eine Controller-Methode erstellen, die die gewünschte Seite im Popup als PartialView zurückgibt.

Ich denke, Sie meinen modal und nicht "Popup" ... Sie müssen einen modalen Mechanismus verwenden, um ein modales Fenster zu erstellen und Ihre partielle via AJAX zu erhalten und das Ergebnis im modalen Fenster anzuzeigen.

Ich mag Bootbox, die ein Wrapper für Bootstraps modale Funktionalität ist.

Verwandte Themen