Подтвердить что ты не робот

Каков правильный шаблон для использования JQuery Ajax и ASP.Net Mvc?

Я очень новичок как для платформы Mvc, так и для JavaScript и JQuery. Я пытаюсь понять правильный способ структурирования вызовов Ajax.

Скажем, у меня есть кнопка "Vote Up", аналогичная тому, что вы видите в StackOverflow. Когда пользователь нажимает на нее, мне нужно обновить количество голосов в базе данных и вернуть новое значение в пользовательский интерфейс. В настоящее время я достигаю этого, выполняя действие под названием "VoteUp" в "PostsController", которое принимает "int postID" в качестве параметра.

public PostsController : Controller
{
    public ActionResult VoteUp(int postId)
    {
        //Increment Post Vote Count
        return Json(voteCount); //Return just the new vote count as a JSon result.
    }
}

Затем я вызываю этот метод через ajax, вызывая url " http://mydomain.com/posts/voteUp?postId=5". Затем я возвращаю JSon ActionResult с новым значением для обновления пользовательского интерфейса.

Это правильный способ реализовать это? Опять же, я совершенно не знаком с javascript и jquery. Я привык делать все как обработчики событий щелчка в webforms asp.net. Любые рекомендации будут оценены.

4b9b3361

Ответ 1

Да, похоже, что у вас все в порядке.

Обратите внимание, однако, что если вы измените postId на Id, вы можете позвонить с помощью URL-адреса, например:

http://example.com/posts/voteUp/5

(с маршрутизацией по умолчанию.) Это вопрос личных предпочтений.

Ответ 2

Я бы подошел к этому, используя jQuery и JsonResult Controller. Ваш код jQuery вызовет JsonResult, который передаст соответствующую информацию в код модели, чтобы обработать добавление нового голоса. Я написал краткое руководство по аналогичным концепциям, которое доступно на http://www.dev102.com/2008/08/19/jquery-and-the-aspnet-mvc-framework/