ASP.NET MVC 3.0 WebGrid - Ajax Aktiviert
Ich bin der Begegnung mit dem folgenden problem: "Ein JQuery-script Referenz ist erforderlich, damit die Ajax-Unterstützung in den "WebGrid" Helfer"
Möchte ich meine WebGrid AJAX aktiviert. Ich habe diesen code für die Teilansicht
@ModelType WebGrid
@Model.GetHtml(tableStyle:="webgrid", headerStyle:="webgrid-header", footerStyle:="webgrid-footer", alternatingRowStyle:="webgrid-alternating-row", selectedRowStyle:="webgrid-selected-row", rowStyle:="webgrid-row-style",
columns:=Model.Columns(Model.Column(
columnName:=GemeentePostColumnsEnum.NISCode.ToString()),
Model.Column(columnName:=GemeentePostColumnsEnum.GemeenteNaam.ToString()),
Model.Column(columnName:=GemeentePostColumnsEnum.DistrictNaam.ToString()),
Model.Column(columnName:=GemeentePostColumnsEnum.PostCode.ToString()),
Model.Column(columnName:=GemeentePostColumnsEnum.PostNaam.ToString()),
Model.Column(
format:=@@<text>@Ajax.ActionLink("Edit", "AddEdit", New With {.NISCode = item.NISCode}, New AjaxOptions With {.UpdateTargetId = "formGemeentePost", .InsertionMode = InsertionMode.Replace, .HttpMethod = "GET", .OnFailure = "failure"})</text>)))
Und der code für den controller:
Function SearchForm(searchModel As GemeentePostWebService.GemeentePostCriteria) As PartialViewResult
searchModel.Taalcode = "nl"
'Code to fill up Model
ViewBag.WebGrid = CreateGrid(viewModelList)
Return PartialView("Partial/_Grid", ViewBag.WebGrid)
End If
End Function
Private Function CreateGrid(source As List(Of GemeentePostModel)) As WebGrid
Return New WebGrid(source:=source, rowsPerPage:=10, ajaxUpdateContainerId:="grid", defaultSort:=GemeentePostColumnsEnum.GemeenteNaam)
End Function
Wenn ich etwas Suche Werte und das Formular abschicken, bekomme ich die folgende Fehlermeldung:
"Ein JQuery-script Referenz ist erforderlich, damit die Ajax-Unterstützung in den "WebGrid" Helfer"
Mit als Resultat: ich habe das Recht gefilterten Werte, aber mein div (updatetargetid) ist nicht gefüllt.
Ich schon Hinzugefügt, die jQuery und unaufdringlich-Skripten und einbinden in mein header:
<!DOCTYPE html>
<html>
<head>
<title>X</title>
<link href="/X/Content/Site.css" rel="stylesheet" type="text/css" />
<link href="/X/Content/themes/base/jquery.ui.all.css" rel="stylesheet" type="text/css" />
<script src="/X/Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
<script src="/X/Scripts/jquery-ui-1.8.11.js" type="text/javascript"></script>
<script src="/X/Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>
</head>
haben Sie ausgetestet client-side javascript mit firebug oder developer tools, könnte die Suche nach einer anderen jquery-Bibliothek etc.
Ich gedebuggt verwenden der Entwicklertools im IE, so habe ich die "Ein JQuery-script Referenz ist erforderlich, damit die Ajax-Unterstützung in den "WebGrid" Helfer" - Fehler. Wenn ich überspringe, ich hab die Seite möchte ich eingefügt in die div, ohne lay-out. Ich sehe nicht ein Verweis auf eine bestimmte version. Dieser alert ist definiert in den sourcecode, den ich empfangen: "<script type="text/javascript">if (typeof(jQuery)=='undefined') alert("A jQuery script Referenz ist erforderlich, damit die Ajax-Unterstützung in der \"WebGrid\" Helfer.");"
haben Sie einen Blick auf meine Antwort, wenn Sie können ' T es herausfinden, bitte posten Sie den client-seitigen code, wenn möglich.
Ich gedebuggt verwenden der Entwicklertools im IE, so habe ich die "Ein JQuery-script Referenz ist erforderlich, damit die Ajax-Unterstützung in den "WebGrid" Helfer" - Fehler. Wenn ich überspringe, ich hab die Seite möchte ich eingefügt in die div, ohne lay-out. Ich sehe nicht ein Verweis auf eine bestimmte version. Dieser alert ist definiert in den sourcecode, den ich empfangen: "<script type="text/javascript">if (typeof(jQuery)=='undefined') alert("A jQuery script Referenz ist erforderlich, damit die Ajax-Unterstützung in der \"WebGrid\" Helfer.");"
haben Sie einen Blick auf meine Antwort, wenn Sie können ' T es herausfinden, bitte posten Sie den client-seitigen code, wenn möglich.
InformationsquelleAutor Micclo | 2011-12-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ein Problem, Sie könnten vor ist, wo der Verweis auf die "jquery.unobtrusive-ajax.min.js" die Datei ist auf Ihrer Seite.
Wenn Sie mit YSlow oder PageSpeed, einer der Vorschläge ist, dass css bekommt in den Kopf gesetzt, javascript wird an der Unterseite angebracht.
Dies bewirkt, dass das, was Sie sehen, geschieht (nur hatte es passieren mir auch).
Wenn Ihr Bezug ist an der Unterseite, die beim ersten laden der Seite (oder einer Aktualisierung), die javascipt-Datei noch nicht geladen ist, bevor die WebGrid Helfer versucht zu starten es tun, und Sie erhalten eine popup-Meldung über die fehlende Referenz. Wenn Sie Sie zu entlassen, dann paging oder sorting funktioniert tatsächlich, und die Meldung geht Weg...bis Sie die Seite aktualisieren wieder.
Können Sie entweder verschieben Sie Ihr Skript Referenz auf die top oder schreiben Sie ein Dokument.bereit Skript zu verzögern.
InformationsquelleAutor Ed DeGagne
Wo haben Sie Ihre Referenz zu jquery, weil, wenn es bricht auf
if (typeof(jQuery)=='undefined')
dann ist es definitiv nicht finden, jquery auf, dass ein Teil der Seite.Haben Sie einen Blick in Ihre source-client, stellen Sie sicher, dass die jquery-Referenz ist, und dass die webgrid-script/javascript verwendet/referenziert wird nach der jquery-Bibliothek verwiesen wird.
Ich kann nicht an nichts anderes denken, außer wenn Sie uns die Quelle ausgegeben.
InformationsquelleAutor TBohnen.jnr
Sollte
Lesen
ie drop "=" ? (Sorry, es ist schon eine lange Zeit, da ich verwendete VB)
Außerdem sehen Sie die controller-Aktion, name und Parameter für die teilweise Ansicht in der url-Adresse?
Es könnte etwas damit zu tun, wie Sie sind, veröffentlichen Sie Ihre form wieder zurück an den server, ich hatte die gleiche Fehlermeldung beim Versuch der post-Formular-Daten programmgesteuert mithilfe von javascript eher als ein Benutzer drücken Sie die Schaltfläche "senden". Ich brauchte mein raster zu füllen entsprechend die Seite aktualisieren, Menü-Auswahl-und dropdown-Auswahl der Ereignisse und hatte Schwierigkeiten, es zu erhalten zu arbeiten. Als ich erhielt die Fehlermeldung, was ich erhielt, war meine Seite teilweise komplett mit ausgefüllt webgrid, aber keiner von dem rest der Seite.
Obwohl ich nie das Problem gelöst, ich habe es geschafft, diesen zu umgehen. Meine Lösung beteiligt:
Bearbeiten Sie die Sicht auf diesen
meine inspiration kam aus diesem Beitrag:
Mehrere Checkbox-Auswahl mit Webgrid in MVC 3 (Alle wählen/Alle Abwählen), die Sortierung und Paging
hoffe, das hilft
InformationsquelleAutor RogerB