Tengo un método que registra el voto para un comentario. Si no hay errores al emitir el voto, devuelvo un pequeño fragmento de html a través de PartialViewResult para actualizar la página.¿Cómo puedo devolver una cadena vacía (o nulo) para un PartialViewResult?
Si no tiene éxito, no debería pasar nada. Necesito probar esta condición en el lado del cliente.
El método del lado del servidor:
[HttpPost]
public PartialViewResult RegisterVote(int commentID, VoteType voteType) {
if (User.Identity.IsAuthenticated) {
var userVote = repository.RegisterVote((Guid)Membership.GetUser().ProviderUserKey, commentID, voteType);
if (userVote != null) {
return PartialView("VoteButtons", userCommentVote.Comment);
}
}
return null;
}
El script del lado del cliente:
$(document).on("click", ".vote img", function() {
var image = $(this);
var commentID = GetCommentID(image);
var voteType = image.data("type");
$.post("/TheSite/RegisterVote", { commentID: commentID, voteType: voteType }, function (html) {
image.parent().replaceWith(html);
});
});
Si se registró la votación, el "html" containes variables marcado como se esperaba. Si no tiene éxito (es decir, se devuelve null), la variable "html" es en cambio un objeto "Documento" con un error de análisis.
¿Hay alguna manera de devolver una cadena vacía desde PartialViewResult y luego simplemente probar la longitud? ¿Hay una manera diferente/mejor de hacer esto?
Funcionó como un amuleto. Gracias – Jason