2 Stimmen

Konnte im aktuellen Bereich oder Kontext nicht aufgelöst werden

'fieldName' konnte im aktuellen Bereich oder Kontext nicht aufgelöst werden. Stellen Sie sicher, dass alle verwendeten Variablen im Scope sind, dass erforderliche Schemen geladen sind und dass Namensräume korrekt referenziert werden.

Diese Meldung erscheint, wenn ich _data in meinem Controller deklariere:

string orderBy = sidx + " " + sord;
IQueryable _data;
_data = entities.Tabelle.OrderBy(orderBy).Skip(skip).Take(take);

Irgendwelche Vorschläge?

3voto

Hyde Punkte 129

Danke für die Antwort, jetzt verstehe ich es... das Problem liegt am sidx Parameter, den ich aus fieldName im Header von jqgrid erhalten habe, der den Tabellennamen nicht erkennt. Ich habe dann versucht, es auf diese Weise zu tun und jetzt hat es geklappt :)

Hinzufügen von it. zur Order-Variablen:

string orderBy = "it."+ sidx + " " + sord; IQueryable _data;
_data = entities.Table.OrderBy(orderBy).Skip(skip).Take(take);

1voto

tpeczek Punkte 23457

Die wahrscheinlichste Ursache ist, dass der von Ihnen generierte orderBy-Ausdruck auf das Feld verweist, das in der Tabelle nicht verfügbar ist - setzen Sie einfach einen Haltepunkt in dieser Zeile und überprüfen Sie, welchen Wert sie hat.

Eine wichtige Sache hier ist, dass es bei jqGrid (Sie haben Ihre Frage mit jqGrid getaggt) einige Inkonsistenzen gibt, was als sidx gesendet wird. Meistens handelt es sich um den Index aus colModel, aber manchmal (zum Beispiel bei aktivierter Gruppierung) kann es Name sein.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X