Frage

Ich rufe die folgende Methode in meinem Controller mit $ .getJSON ()

    [return: JSONReturnBinder]
    public object ProfileFields()
    {
        var userfields = _profileSvc.GetFields(282);
        var fields = from f in userfields
                     select new {f.ID, f.FieldName};

        return fields;
    }

Meine _profileSvc kommt zurück mit zusätzlichen Daten, die ich nicht brauche (eigentlich bekomme ich NHibernate Fehler, weil die Sitzung geschlossen wird).

Gibt es eine bessere Art und Weise zu tun, was ich tue? Soll ich stark den Datentyp Ich kehre oder ist dieser Ansatz ausreichend?

Danke.

Andere Tipps

Haben Sie schon versucht mit

[return: JSONReturnBinder(Properties = "ID,FieldName")]
public object ProfileFields()
{
        var userfields = _profileSvc.GetFields(282);
    return userfields;
}

Ich hoffe, das hilft.

Als erstes würde ich den Rückgabewert der Aktion ändern ein IList zu sein ...

Ich denke, dass die Sitzungsfehler geschlossen von einer verzögerten Ausführung stammen kann ‚var Felder‘. Wenn Sie Ihren Return-Anweisung zu fields.ToList () ändern, dass die Ausführung des Lambda-Ausdruck zwingen wird, und Sie könnten der Session Fehler loszuwerden:

[return: JSONReturnBinder]
    public object ProfileFields()
    {
            var userfields = _profileSvc.GetFields(282);
            var fields = from f in userfields
                         select new {f.ID, f.FieldName};

    return fields.ToList();
    }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top