Question

J'appelle la méthode suivante dans mon contrôleur à l'aide .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;
    }

Mon _profileSvc revient avec des données supplémentaires que je ne ai pas besoin (en fait je reçois des erreurs NHibernate parce que la session est fermée).

Y at-il une meilleure façon de faire ce que je fais? Dois-je typer les données que je suis de retour ou cette approche est-elle suffisante?

Merci.

Autres conseils

Avez-vous déjà essayé d'utiliser

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

J'espère que cette aide.

Tout d'abord, je change la valeur de retour de l'action à un IList ...

Je pense que la session fermée erreur peut provenir d'une exécution tardive des « champs var ». Si vous changez votre déclaration de retour à fields.ToList (), qui forcera l'exécution de l'expression lambda et vous pourriez se débarrasser de l'erreur de session:

[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();
    }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top