У меня есть метод, который регистрирует голосование за комментарий.Если при голосовании ошибок нет, я возвращаю небольшой фрагмент html через PartialViewResult для обновления страницы.
Если это не удастся, ничего не произойдет.Мне нужно проверить это условие на стороне клиента.
Метод на стороне сервера:
[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;
}
Сценарий на стороне клиента:
$(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);
});
});
Если голос был записан, переменная html содержит разметку, как и ожидалось.Если это не удается (т. Е. Возвращается ноль), тогда переменная html вместо этого является объектом «Document» с ошибкой синтаксического анализа.
Есть ли способ вернуть пустую строку из PartialViewResult, а затем просто проверить длину?Есть ли другой / лучший способ сделать это?