Pregunta

Estoy llamando el método siguiente en mi controlador usando .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;
    }

Mi _profileSvc regresa con datos adicionales que no necesito (en realidad tengo errores de NHibernate porque la sesión se cierra).

¿Hay una mejor manera de hacer lo que estoy haciendo? Debería tipos fuertemente los datos que voy a volver o es suficiente este enfoque?

Gracias.

Otros consejos

¿Ya ha intentado usar

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

Espero que esto ayude.

En primer lugar, me gustaría cambiar el valor de retorno de la acción a ser un IList ...

Creo que la sesión de error cerrado puede provenir de una ejecución tardía de los campos '' var. Si cambia su estado de retorno a fields.ToList (), que obligará a la ejecución de la expresión lambda y es posible deshacerse del error de sesión:

[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();
    }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top