Here's what you can do - : you can use RadRating control for ASP.NET AJAX:
You have to implement custom control that will have a client part and ListView (or another control) with BlogPosts, that will wrap rad rating control in the Item Template.
The average rating result need to be calculated at wrapper rating control like:
var averageRating = ratedItem.VotesSum / (ratedItem.VotesCount != 0 ? ratedItem.VotesCount : 1);
//load the value
this.RatingControl.Value = (double)averageRating;
On the client you need to implement a method that will invoke service to update VotesCount and VotesSum into the database (these could be custom fields of the BlogPosts).
After you have calculated the average result of the Rating control, you can send it to the server using jquery to consume a POST service that will later update the two custom fields of the Blog Posts with the data from the service (which will be the VotesCount and the VotesSum).
Please check this blogpost for information on how to consume the service using jquery:
Also, in order to update the custom fields you can use the DataExtensions.SetValue method: