Unter Link habe ich einen Benutzeroberflächen-Dialog von MVC erstellt.
Hier ist mein Code:
In Layout.cshtml
Index.cshtml
Ich habe beides in IE und Firefox überprüft. Firefox löst "Typeerror $ (...) aus. Dialog ist keine Funktion" und IE löst Objekt unterstützt keine Eigenschaft oder Methode 'Dialog' .
Irgendwelche Vorschläge. Was ist der Fehler in meinem Code? Warum ein Dialogfehler auftritt?
3 Dinge in den Sinn kommen, die es wert wären, zu überprüfen:
Schreiben Sie niemals URLs in einer ASP.NET MVC-Anwendung fest. Verwenden Sie immer Helfer (oder Pakete, die empfohlen werden):
%Vor% Stellen Sie sicher, dass Sie am Ende Ihrer _Layout.cshtml
keinen @Scripts.Render("~/bundles/jquery")
-Aufruf haben, da dies jQuery zweimal enthalten würde.
Wenn Sie am Ende Ihrer _Layout.cshtml
einen eigenen Bereich für benutzerdefinierte Skripte wie @RenderSection("scripts", required: false)
haben, stellen Sie sicher, dass Sie Ihr eigenes Skript in diesem Bereich platziert haben (beachten Sie, dass sich diese RenderSection am Ende des DOM befindet) Sie müssen Ihr Skript nicht in ein document.ready-Ereignis einfügen, da das DOM bei seiner Ausführung bereits geladen ist):
Dies tritt häufig auf, wenn Sie vergessen, jquery-ui.js
hinzuzufügen. Die Reihenfolge des Einschließens von jquery-ui-{version}.js
ist ebenfalls wichtig!
Sie sollten jquery-{version}.js
und dann jquery-ui-{version}.js
einschließen. Fügen Sie dann kurz vor </body>
tag Ihre benutzerdefinierte JavaScript-Datei ein.
Es wird Javascript-Laufzeitfehler beheben: [ Objekt unterstützt keine Eigenschaft oder Methode 'Dialog' ], [ '$' ist undefiniert ]
Ihr Code scheint mir OK. Sie können überprüfen, ob die benutzerdefinierte jQuery-Benutzerschnittstelle die Dialogfunktion enthält (oder versuchen Sie, die vollständige jQuery-Benutzeroberfläche herunterzuladen zu Testzwecken) und überprüfen Sie, ob der URI des JS-Skripts korrekt ist.
Tags und Links asp.net-mvc-3 internet-explorer jquery firefox