MVCで星評価を実装しようとしていますが、インターネット上のほとんどの評価で現在の評価値のクエリ文字列がjqueryコードの内側にあるため、非常に難しいと感じています。私のサイトの各映画を評価することができますが、私のmovieIDをMovieRatingアクションに渡すことはできません。これは、合格しているクエリ文字列がすでに評価によって取得されているためです。私はまた、私のmovieIDを収集するためにFormCollectionを使用してみましたが、null値を受け取っていました。また、ユーザーがサイトにログオンしたときに各ユーザーの評価を表示する必要があります。助けて頂ければ幸いです。 ASP.NET MVCで評価を適用するには
public ActionResult MovieRating(int id, int rating, MovieRating MovieRating)
{
MovieRating.Rating= rating;
MovieRating.ProfileID = "duru";
MovieRating.MovieID =id;
//save change not yet implemented
}
この
は、私の見解ではコードです。このUrl.RequestContext.RouteData.Valuesは、[「idは」]私は現在MOVIEID@using (Html.BeginForm("MovieRating", "Movie", FormMethod.Post, new { id = Url.RequestContext.RouteData.Values["id"] }))
{
<p>
<img src="../../Content/RatingImages/EmptyStar.png" class="MovieRating" alt="Star Rating" align="middle" id="1" />
<img src="../../Content/RatingImages/EmptyStar.png" class="MovieRating" alt="Star Rating" align="middle" id="2" />
<img src="../../Content/RatingImages/EmptyStar.png" class="MovieRating" alt="Star Rating" align="middle" id="3" />
<img src="../../Content/RatingImages/EmptyStar.png" class="MovieRating" alt="Star Rating" align="middle" id="4" />
<img src="../../Content/RatingImages/EmptyStar.png" class="MovieRating" alt="Star Rating" align="middle" id="5" />
</p>
<div id="result"></div>
}
このjqueryのコードのクエリ文字列を得るのを助ける
/// <reference path="jquery-1.5.1-vsdoc.js" />
/// <reference path="jquery-ui-1.8.11.js" />
/*(document).(function(){*/
$(function() {
$('.MovieRating').mouseover(function() {
giveRating($(this), "FilledStar.png");
$(this).css("cursor", "pointer");
});
$('.MovieRating').mouseout(function() {
giveRating($(this), "EmptyStar.png");
});
$('.MovieRating').click(function() {
$('.MovieRating').unbind("mouseout mouseover click");
// call ajax methods to update database
var url = "/Movie/MovieRating?rating=" + parseInt($(this).attr("id"));
$.post(url, null, function (data) {
$("#result").text(data);
});
});
});
function giveRating(img, image) {
img.attr("src", "/Content/RatingImages/" + image)
.prevAll('.MovieRating').attr("src", "/Content/RatingImages/" + image);
}
投稿したコードに基づいて自分の回答を更新しました –