大家都知道做视频网站必须要有顶和踩的功能,我们的校园视频管理系统的顶和踩做到了和优酷顶和踩一样的效
果,下面我们就介绍一下我做的顶和踩的功能实现。
之前想的是点击图片按钮,直接让显示和数据库中的数据都+1就可以了,后来参照了优酷,决定实现图片的“点
亮”效果,于是将原来的两张带颜色的按钮另做的两张灰色按钮,实现了图片点亮和数据及时更新的效果。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
下面我就做一下简单的介绍一下实现。
准备黑白和彩色相对应的四张图片(可以用PS和美图秀秀修图)。
View中的代码:
<div class="ding" style="cursor:pointer;">
<img id="ding1" src="../../images/vedioPlayer/5-140FG92021-55_副本.jpg" οnclick="getValueDing1()" />
<span id="dingspan">@video.VideoDingCount</span>
</div>
<div class="cai" style="cursor:pointer;">
<img id="cai1" src="../../images/vedioPlayer/5-140FG92022_副本.jpg" οnclick="getValueDing2()" />
<span id="caispan">@video.VideoCaiCount</span>
</div>
img标签放图片,span标签显示播放次数。
Controller中方法1,调用WCF中的方法,返回视频播放的的信息:
//通过guid查询vedio的基本信息用于页面的显示
Guid guid = new Guid(str);
List<VideoInfo> videoInfoList = new List<VideoInfo>();
videoInfoList = videoInfoService.GetPlayVideoInfo(guid);
ViewData["VideoInfo"] = videoInfoList;
Controller中方法2,更新顶和踩的记录,以顶为例:
#region 更新顶的记录 UpdateDingCount() 张子杰 2015-2-12 09:03:34
public bool UpdateDingCount(VideoInfo videoinfo)
{
string videoid = Request["VideoID"];
string dingcount = Request["DingCount"];
//将捕获的dingcount和vedioid放到实体中
VideoInfo envideoinfo = new VideoInfo();
Guid VideoID = new Guid(videoid);
int DingCount = Convert.ToInt32(dingcount);
envideoinfo.VideoID = VideoID;
envideoinfo.VideoDingCount = DingCount;
bool result = videoInfoService.UpdateDingCount(envideoinfo);
return result;
}
#endregion
WCF中的实现方法:
#region 更新顶的个数 bool UpdateDingCount(VideoInfo videoinfo) 张子杰 2015-2-12 07:57:02
public bool UpdateDingCount(VideoInfo videoinfo)
{
//创建映射规则
Mapper.CreateMap<VideoInfo, VideoInfoEntity>();
//创建实体集合
VideoInfoEntity videoinfotmp = new VideoInfoEntity();
//进行转换
videoinfotmp = Mapper.Map<VideoInfoEntity>(videoinfotmp);
VideoInfoEntity VideoInfoEntity = videoinfoBLL.LoadEnities(u => u.VideoID == videoinfo.VideoID).ToList().First();
VideoInfoEntity.VideoDingCount = videoinfo.VideoDingCount;
bool result = videoinfoBLL.Update(VideoInfoEntity);
return result;
}
#endregion
之后,高端大气的顶和踩功能就实现了。