N2 CMS评级用户控件

我目前正在组建中的N2 CMS框架的网站。 一个东西我想要做的是能够让用户使用率相当标准星级风格的用户控制或类似网站的各种元素。

有没有人似乎任何与此类似在N2具体实施? 只是在寻找一些指针,以在N2实现这一目标的最佳途径。

另外,不要认为它应该有所作为,但我目前正在实施这一切都使用ASP MVC中N2。

提前致谢

保罗

--------------解决方案-------------

检查BlogSvc的源代码(很快就被称为了AtomServer)

来源/的WebCore /插件/评价者/ RaterService.cs

这里是一个片段:

public RaterModel Rate(Id entryId, float rating, User user, string ip)
{
LogService.Info("RateEntry: {0}, {1}, {2}", entryId, rating, ip);

if (!AuthorizeService.IsAuthorized(user, entryId, AuthAction.RateEntryOrMedia))
throw new UserNotAuthorizedException(user.Name, AuthAction.RateEntryOrMedia.ToString());

if (rating < 1 || rating > 5) throw new ArgumentOutOfRangeException("Rating value must be 1 thru 5.");

AtomEntry entry = AtomEntryRepository.GetEntry(entryId);
if (entry.Raters.Contains(ip)) throw new UserAlreadyRatedEntryException(ip, entry.Id.ToString());

entry.RatingCount++;
entry.RatingSum += (int)Math.Round(rating); //temporarily force int ratings
entry.Edited = DateTimeOffset.UtcNow;
List<string> raters = entry.Raters.ToList();
raters.Add(ip);
entry.Raters = raters;
entry = AtomEntryRepository.UpdateEntry(entry);
return new RaterModel()
{
PostHref = RouteService.RouteUrl("RaterRateEntry", entryId),
Rating = entry.Rating,
CanRate = false,
RatingCount = entry.RatingCount
};
}

这是我在我的网站上使用什么等级的内容 - 1到5星

N2CMS - EditableEnum完全适用于这项工作

[EditableEnum("RatingValue", 2, typeof(Rating))]
public virtual string RatingValue
{
get { return (string)(GetDetail("RatingValue")); }
set { SetDetail("RatingValue", value); }
}

/// <summary>
/// Enum for the Vehicle Review Ratings
/// </summary>
public enum Rating
{
one = 1,
two = 2,
three = 3,
four = 4,
five = 5
}

分类:阿贾克斯 时间:2015-03-14 人气:0
本文关键词: 阿贾克斯,N2,评级
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.577 (s). 10 q(s)