Я предполагаю, что когда вы создаете вызов jQuery, который публикует оценку в вашем действии, у вас есть возможность указать URL-адрес, на который должен быть опубликован рейтинг.Если нет способа расширить плагин jquery, чтобы разрешить дополнительные параметры, я бы отправил на маршрут 'Controller/MovieRating/@Model.MovieId'
, а затем разрешил плагину jQuery публиковать любые аргументы строки запроса, которые ему нужны.Как только вы получите это в своем контроллере, будет заполнено id
, и вы сможете продолжить присваивать рейтинг фильму
ПРИМЕЧАНИЕ: предоставленный маршрут предполагает, что вы используете синтаксис бритвы, и так как вы не много публиковалиКод вашего представления или вашего контроллера, что у вашей viewmodel есть Movie Id как MovieId, вам, очевидно, придется изменить его в соответствии с вашими потребностями
EDIT после просмотра вашего кода, если вы изменитеэта строка
var url = "/Movie/MovieRating?rating=" + parseInt($(this).attr("id"));
на эту:
var url = "/Movie/MovieRating/@Url.RequestContext.RouteData.Values["id"]?rating=" +
parseInt($(this).attr("id"));
она должна направить вас в правильном направлении.Это позволит вашему действию MovieRating принять ожидаемый параметр id.
Однако, другой вопрос, который у меня к вам, вы передаете модель просмотра на свою страницу?Почему бы вам не передавать идентификатор фильма через модель представления вместо того, чтобы каждый раз получать его из RouteData?Просто любопытно