2010-01-12 16 views

Respuesta

1

No lo "convertirá", pero los dos tendrían el mismo efecto en lo que concierne al usuario. Se enviaría una solicitud, pero no se respondería al cliente.

Personalmente, creo que debe enviar alguna respuesta al cliente, incluso si solo escribe un continuar o un éxito directamente a la secuencia de respuesta. Incluso un JSON true, o un documento XML vacío es mejor que nada en absoluto.

+1

Por qué los downvotes aquí? Contrarrestado en nombre de la razón; muy buen punto acerca de siempre devolver algo. – ProfK

+8

Sospecho que el motivo del voto a favor (no lo hice) se debe a que una respuesta "sí" vuelve. Una respuesta 200 OK. El cuerpo de respuesta está vacío, sin embargo. Creo que con operaciones ajax es razonable usar códigos de estado HTTP para comunicar los resultados de la operación. 200 OK, 500 Error, 403 prohibido, etc. Un cuerpo no siempre es necesario. – MarkPflug

3

Parece que sí, marque el source code of ControllerActionInvoker.cs. No lo he verificado, pero la lógica me dice que un retorno nulo establecerá que actionReturnValue sea nulo, por lo que se genera un EmptyResult. Este es el código fuente más reciente, no se ha verificado la fuente de ASP.net MVC 1.0.

protected virtual ActionResult CreateActionResult(ControllerContext controllerContext, ActionDescriptor actionDescriptor, object actionReturnValue) { 
    if (actionReturnValue == null) { 
     return new EmptyResult(); 
    } 

    ActionResult actionResult = (actionReturnValue as ActionResult) ?? 
     new ContentResult { Content = Convert.ToString(actionReturnValue, CultureInfo.InvariantCulture) }; 
    return actionResult; 
} 
Cuestiones relacionadas