Beispiel #1
0
        /// <summary>
        /// 指定作品的附件显示
        /// </summary>
        /// <param name="worksId">作品ID</param>
        /// <param name="typeId">文件类型ID</param>
        /// <returns></returns>
        public static StringBuilder GenerateFileHtml(long worksId, int typeId)
        {
            StringBuilder htmlContent = new StringBuilder();

            using (ChannelFactory <IServiceWorks> channelFactory = new ChannelFactory <IServiceWorks>("ServiceWorks"))
            {
                IServiceWorks proxy = channelFactory.CreateChannel();
                //获取指定作品指定文件类型的附件列表

                //switch (typeId)
                //{
                //    case 1://文档
                //        var files = proxy.GetWorksFile(worksId.ToString(), "1");
                //        htmlContent.AppendLine(proxy,worksId);
                //        break;
                //    case 2:
                //        var files = proxy.GetWorksFile(worksId.ToString(), "2");
                //        htmlContent.AppendLine(ShowImages(files));
                //        break;
                //    case 3: case 4:
                //        htmlContent.AppendLine(ShowMedias(files));
                //        break;
                //    default:
                //        htmlContent.AppendLine(ShowOthers(files));
                //        break;
                //}
            }
            return(htmlContent);
        }
Beispiel #2
0
        /// <summary>
        /// 图片文件的显示:相册
        /// </summary>
        /// <param name="serviceWorks"></param>
        /// <param name="worksId"></param>
        /// <returns></returns>
        private void ShowImages(IServiceWorks serviceWorks, long worksId)
        {
            StringBuilder htmlContent = new StringBuilder();
            List <VAWcfService.WorksFile> imagesList = serviceWorks.GetWorksFile(worksId.ToString(), "2");

            if (imagesList.Count > 0)
            {
                VAWcfService.Works works    = serviceWorks.GetWorksSubmitById(worksId.ToString());
                string             periodId = works.PeriodID.ToString();
                Periods            period   = serviceWorks.GetPeriodsById(periodId).FirstOrDefault();
                string             courseId = period.CourseID.ToString();
                Course             course   = serviceWorks.GetCourseById(courseId).FirstOrDefault();
                string             siteUrl  = "http://va.neu.edu.cn";

                if (course != null)
                {
                    siteUrl += course.Url;
                }
                htmlContent.AppendLine("<fieldset><legend>作品图片</legend>");
                htmlContent.AppendLine("<div class='box'>");
                htmlContent.AppendLine("<div id ='imgs' class='imgs'>");
                foreach (var file in imagesList)
                {
                    htmlContent.AppendLine("<img src='" + siteUrl + file.FilePath + "' onClick='$(this).ImgZoomIn();' height='200'>");
                }
                htmlContent.AppendLine("</div>");
                htmlContent.AppendLine("</div>");
                htmlContent.AppendLine("</fieldset>");
                ImagesDiv.InnerHtml = htmlContent.ToString();
            }
            else
            {
                ImagesDiv.Visible = false;
            }
        }
Beispiel #3
0
        /// <summary>
        /// 删除指定作品
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void IBtnDel_Click(object sender, ImageClickEventArgs e)
        {
            ImageButton btn     = (ImageButton)sender;
            string      worksId = btn.CommandArgument;

            using (ChannelFactory <IServiceWorks> channelFactory = new ChannelFactory <IServiceWorks>("ServiceWorks"))
            {
                IServiceWorks serviceWorks = channelFactory.CreateChannel();
                serviceWorks.Delete(worksId);
            }
        }
Beispiel #4
0
        /// <summary>
        /// 获取作品类别
        /// </summary>
        /// <returns></returns>
        private List <VAWcfService.WorksType> GetWorksTypes()
        {
            List <VAWcfService.WorksType> wTypes;

            using (ChannelFactory <IServiceWorks> channelFactory = new ChannelFactory <IServiceWorks>("ServiceWorks"))
            {
                IServiceWorks proxy = channelFactory.CreateChannel();
                wTypes = proxy.GetWorksTypes();
            }
            return(wTypes);
        }
Beispiel #5
0
        /// <summary>
        /// 获取作品来源网站列表
        /// </summary>
        /// <returns></returns>
        private List <Course> GetWebSites()
        {
            List <Course> wCurses;

            using (ChannelFactory <IServiceWorks> channelFactory = new ChannelFactory <IServiceWorks>("ServiceWorks"))
            {
                IServiceWorks proxy = channelFactory.CreateChannel();
                wCurses = proxy.GetCourses();
            }
            return(wCurses);
        }
Beispiel #6
0
        /// <summary>
        /// 删除作品
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnDelete_Click(object sender, ImageClickEventArgs e)
        {
            string worksId = WorksId.ToString();

            using (ChannelFactory <IServiceWorks> channelFactory = new ChannelFactory <IServiceWorks>("ServiceWorks"))
            {
                IServiceWorks      serviceWorks = channelFactory.CreateChannel();
                VAWcfService.Works wks          = serviceWorks.GetWorksSubmitById(worksId);
                wks.Flag = 0;
                serviceWorks.Update(wks);
            }
        }
Beispiel #7
0
        /// <summary>
        /// 多媒体文件(包括音视频)的显示:播放窗口
        /// </summary>
        /// <param name="serviceWorks">数据服务层接口</param>
        /// <param name="worksId">作品ID</param>
        /// <param name="typeId"></param>
        /// <returns></returns>
        private void ShowMedias(IServiceWorks serviceWorks, long worksId, int typeId)
        {
            StringBuilder htmlContent = new StringBuilder();
            List <VAWcfService.WorksFile> mediaFiles = serviceWorks.GetWorksFile(worksId.ToString(), typeId.ToString());

            if (mediaFiles.Count > 0)
            {
                VAWcfService.WorksFile mediaFile = mediaFiles.OrderByDescending(wf => wf.WorksFileID).FirstOrDefault();//因为可能有多个文档重复上传,所以此处先处理成该作品最后一次上传的文档为作品文档。
                VAWcfService.Works     works     = serviceWorks.GetWorksSubmitById(worksId.ToString());
                string  periodId = works.PeriodID.ToString();
                Periods period   = serviceWorks.GetPeriodsById(periodId).FirstOrDefault();
                string  siteUrl  = "http://va.neu.edu.cn";
                if (period != null)
                {
                    string courseId = period.CourseID.ToString();
                    Course course   = serviceWorks.GetCourseById(courseId).FirstOrDefault();
                    if (course != null)
                    {
                        siteUrl += course.Url;
                    }
                }
                if (mediaFile != null)
                {
                    MediaDiv.Visible = true;
                    //string mediaHtml = "<iframe type='text/html' width='640' height='360'";
                    //mediaHtml += "src='"+ siteUrl + "/_layouts/15/videoembedplayer.aspx?site=" + mediaFile.FilePath + "title=1'></iframe>";
                    htmlContent.AppendLine("<div class='plist'>");
                    htmlContent.AppendLine("<a href='" + siteUrl + mediaFile.FilePath + "' name='" + mediaFile.FileName + "'");
                    htmlContent.AppendLine("<img class='listpic' src='images/start.jpg' alt='" + mediaFile.FileName + "' width='200'  height='150'>");
                    string txtExtend = mediaFile.FileName.Substring(mediaFile.FileName.LastIndexOf(".", StringComparison.Ordinal) + 1).ToLower();
                    if (txtExtend == "mp3")
                    {
                        htmlContent.AppendLine("<span class='v_bq_hong'>讲解音频</span><span class='v_bg'></span>");
                    }
                    else
                    {
                        htmlContent.AppendLine("<span class='v_bq_lan'>讲解视频</span><span class='v_bg'></span>");
                    }
                    htmlContent.AppendLine("<span class='v_bq_vico'></span></a>");
                    htmlContent.AppendLine("<h2><a href='" + siteUrl + mediaFile.FilePath + "' name='" + mediaFile.FileName + "'>" + mediaFile.FileName + "</a></h2><p>" + mediaFile.Created + "</p>");
                    htmlContent.AppendLine("</div>");
                }

                //}
                MediaList.InnerHtml = htmlContent.ToString();
            }
            else
            {
                MediaDiv.Visible = false;
            }
            //return htmlContent;
        }
Beispiel #8
0
        ////师生点评
        //private void GetComments(long worksId)
        //{
        //    divScore.Controls.Clear();
        //    List<CSWorksExpertUser> ds = GetDSWorksComments;
        //    List<CSWorksExpertUser> dv = ds.Where(p => p.UserID == DAL.Common.LoginID).ToList();
        //    if (dv.Count > 0)
        //        Page.ClientScript.RegisterStartupScript(this.GetType(), "message", "<script defer>YiComments();</script>");

        //    lblPersons.Text = ds.Count.ToString();
        //    gvComments.DataSource = dv;
        //    gvComments.DataBind();
        //    float avg = 0;
        //    int tCount = 0;
        //    foreach (CSWorksExpertUser dr in ds)
        //    {
        //        if (dr.Score.HasValue && dr.Score > 0)
        //        {
        //            avg = avg + (float)dr.Score;
        //            tCount = tCount + 1;
        //        }
        //    }
        //    if (tCount > 0)
        //        avg = avg / tCount;
        //    int score = (int)avg;
        //    string txt = "";
        //    for (int i = 0; i < score; i++)
        //    {
        //        txt += "<img src='images/star_red.gif'/>";
        //    }
        //    int j = score;
        //    if (avg > score)
        //    {
        //        j = j + 1;
        //        txt += "<img src='images/star_red2.gif'/>";

        //    }
        //    for (int i = j; i < 5; i++)
        //    {
        //        txt += "<img src='images/star_gray.gif'/>";

        //    }
        //    divScore.Controls.Add(new LiteralControl(txt));
        //}

        /// <summary>
        /// 初始化作品图片显示
        /// </summary>
        /// <param name="worksId"></param>
        /// <returns></returns>
        public static string ImagesHtml(long worksId)//
        {
            string imageshtml = "";

            using (ChannelFactory <IServiceWorks> channelFactory = new ChannelFactory <IServiceWorks>("ServiceWorks"))
            {
                IServiceWorks proxy = channelFactory.CreateChannel();

                //getall
                List <VAWcfService.WorksFile> imageFiles = proxy.GetWorksFile(worksId.ToString(), "2");
                foreach (var file in imageFiles)
                {
                }
            }


            return(imageshtml);
        }
Beispiel #9
0
        /// <summary>
        /// 其它文件显示:下载列表
        /// </summary>
        /// <param name="serviceWorks"></param>
        /// <param name="worksId"></param>
        /// <returns></returns>
        private void ShowOthers(IServiceWorks serviceWorks, long worksId)
        {
            StringBuilder htmlContent = new StringBuilder();
            List <VAWcfService.WorksFile> otherFiles = serviceWorks.GetWorksFile(worksId.ToString(), "5");

            if (otherFiles.Count > 0)
            {
                htmlContent.AppendLine("<fieldset><le其它附件:  (点击文件名可下载)</span><br/>");
                foreach (var file in otherFiles)
                {
                    htmlContent.AppendLine("<a href='" + file.FilePath + "'>" + file.FileName + "</a>");
                    htmlContent.AppendLine("<br/>");
                }
                OthersDiv.InnerHtml = htmlContent.ToString();
            }
            else
            {
                OthersDiv.Visible = false;
            }
        }
Beispiel #10
0
        /// <summary>
        /// 获取作品数据
        /// </summary>
        /// <param name="userId">用户ID</param>
        /// <param name="worksTypeId">作品类别ID</param>
        /// <param name="courseId">课程ID</param>
        /// <returns></returns>
        private List <CSMyWorks> GetData(long userId, int worksTypeId, long courseId)
        {
            using (ChannelFactory <IServiceWorks> channelFactory = new ChannelFactory <IServiceWorks>("ServiceWorks"))
            {
                IServiceWorks    serviceWorks = channelFactory.CreateChannel();
                List <CSMyWorks> works        = serviceWorks.GetMyWorks();

                if (userId != 0)
                {
                    works = works.Where(w => w.UserID == userId).ToList();
                }
                if (worksTypeId != 0)
                {
                    works = works.Where(w => w.WorksTypeID == worksTypeId).ToList();
                }
                if (courseId != 0)
                {
                    works = works.Where(w => w.CourseID == courseId).ToList();
                }
                return(works);
            }
        }
Beispiel #11
0
        /// <summary>
        /// 文档文件的显示:在线浏览
        /// </summary>
        /// <param name="serviceWorks"></param>
        /// <param name="worksId"></param>
        /// <returns></returns>
        private void ShowDocuments(IServiceWorks serviceWorks, long worksId)
        {
            StringBuilder htmlContent = new StringBuilder();
            List <VAWcfService.WorksFile> docFiles = serviceWorks.GetWorksFile(worksId.ToString(), "1");

            if (docFiles.Count > 0)
            {
                SPSite             spsite   = SPContext.Current.Site;
                VAWcfService.Works works    = serviceWorks.GetWorksSubmitById(worksId.ToString());
                string             periodId = works.PeriodID.ToString();
                Periods            period   = serviceWorks.GetPeriodsById(periodId).FirstOrDefault();
                if (period != null)
                {
                    string courseId = period.CourseID.ToString();
                    Course course   = serviceWorks.GetCourseById(courseId).FirstOrDefault();
                    string siteUrl  = "http://va.neu.edu.cn";
                    string cUrl     = "";
                    if (course != null)
                    {
                        cUrl = course.Url.Substring(0, course.Url.Length - 1);
                    }
                    siteUrl += cUrl;
                    var docFile = docFiles.OrderByDescending(f => f.WorksFileID).FirstOrDefault();//因为可能有多个文档重复上传,所以此处先处理成该作品最后一次上传的文档为作品文档。
                    //if (docFiles.Count ==1)
                    //{
                    //var file = docFiles[0];
                    if (docFile != null)
                    {
                        htmlContent.AppendLine("<fieldset><legend>作品文档:<a href='" + siteUrl + docFile.FilePath + "'>" + docFile.FileName + "</a></legend>");
                        htmlContent.AppendLine("<div style='width:100%;text-align:center'><iframe src='" + siteUrl + "/_layouts/15/WopiFrame.aspx?sourcedoc=" + cUrl + HttpUtility.UrlEncode(docFile.FilePath) + "&action=embedview' width='600px' height='400px' frameborder='0'></iframe></div>");
                        htmlContent.AppendLine("</fieldset>");
                    }

                    //}
                    //else
                    //{
                    //    htmlContent.AppendLine("<div>作品文档:</div>");
                    //    htmlContent.AppendLine("<table style='border:1px solid #666666'>");
                    //    htmlContent.AppendLine("<tr><td valign='top'>");
                    //    htmlContent.AppendLine("<fieldset><legend>文档列表</legend>");
                    //    foreach (var file in docFiles)
                    //    {
                    //        string url = siteUrl + "/_layouts/15/WopiFrame.aspx?sourcedoc= " + cUrl + HttpUtility.UrlEncode(docFiles[0].FilePath) + "&action=embedview";
                    //        htmlContent.AppendLine("<dt onClick='return showframe('" + url + "')' style='cursor: pointer;'>"+ file.FileName+ "</dt>");
                    //    }
                    //    htmlContent.AppendLine("</fieldset>");
                    //    htmlContent.AppendLine("</td><td>");
                    //    htmlContent.AppendLine("<fieldset style='border:1px solid #444444'><legend>文档预览</legend>");
                    //    htmlContent.AppendLine("<iframe id='myIframe' src='"+ siteUrl + "/_layouts/15/WopiFrame.aspx?sourcedoc=" + cUrl + HttpUtility.UrlEncode(docFiles[0].FilePath) + "&action=embedview' width='400px' height='300px' frameborder='0'></iframe>");
                    //    htmlContent.AppendLine("</fieldset>");
                    //    htmlContent.AppendLine("</td></tr>");
                    //    htmlContent.AppendLine("</table>");
                    //}
                }
                DocsDiv.InnerHtml = htmlContent.ToString();
            }
            else
            {
                DocsDiv.Visible = false;
            }
        }
Beispiel #12
0
        /// <summary>
        /// 初始化作品信息显示控件
        /// </summary>
        /// <param name="userId">当前用户ID</param>
        /// <param name="worksId">当前作品ID</param>
        private void InitControl(long userId, long worksId)
        {
            if (worksId != 0)
            {
                using (ChannelFactory <IServiceWorks> channelFactory = new ChannelFactory <IServiceWorks>("ServiceWorks"))
                {
                    IServiceWorks proxy = channelFactory.CreateChannel();

                    //getall
                    VAWcfService.Works works = proxy.GetWorksSubmitById(worksId.ToString());
                    LbWorksName.Text         = works.WorksName;
                    LbWorksCode.Text         = works.WorksCode;
                    LbInstallationGuide.Text = works.InstallationGuide;
                    LbComment.Text           = works.Comment;
                    LbSubmitProfile.Text     = works.SubmitProfile;


                    //LblDemoUrl.Text = works.DemoURL;
                    //VAWcfService.WorksType worksType=proxy.


                    DivDesignIdeas.Controls.Clear();
                    DivDesignIdeas.InnerText = works.DesignIdeas;

                    DivKeyPoints.InnerText = works.KeyPoints;
                    DivScore.InnerText     = works.Score.ToString();

                    if (works.WorksTypeID != null)
                    {
                        VAWcfService.WorksType worksType = proxy.GetWorksTypeById(works.WorksTypeID.ToString());
                        LbWorksType.Text = worksType.WorksTypeName.ToString();
                    }

                    //作品附件

                    ShowDocuments(proxy, worksId);
                    //ShowMedias(proxy, worksId, 3);
                    ShowMedias(proxy, worksId, 4);
                    ShowImages(proxy, worksId);
                    ShowOthers(proxy, worksId);


                    //上下文导航
                    List <VAWcfService.Works> worksList = proxy.GetWorks();
                    int currentIndex = worksList.FindIndex(w => w.WorksID == worksId);
                    //string worksNavhtml = "";
                    if (currentIndex == 0)//第一条
                    {
                        LeftLayer.InnerHtml  = "<a class='nvWorksLnk' href='WorksShow.aspx?wid=" + worksList[worksList.Count - 1].WorksID + "' title='上一作品:" + worksList[worksList.Count - 1].WorksName + "'><img src='images//Prev.png' alt=''/></a>";
                        RightLayer.InnerHtml = "<a class='nvWorksLnk' href='WorksShow.aspx?wid=" + worksList[currentIndex + 1].WorksID + "'  title='下一作品:" + worksList[currentIndex + 1].WorksName + "'><img src='images/Next.png' alt=''/></a>";

                        lnkPre.Text         = "上一作品:" + worksList[worksList.Count - 1].WorksName;
                        lnkPre.NavigateUrl  = "WorksShow.aspx?wid=" + worksList[worksList.Count - 1].WorksID;
                        lnkNext.Text        = "下一作品:" + worksList[currentIndex + 1].WorksName;
                        lnkNext.NavigateUrl = "WorksShow.aspx?wid=" + worksList[currentIndex + 1].WorksID;
                    }
                    else if (currentIndex == worksList.Count - 1)//
                    {
                        LeftLayer.InnerHtml  = "<a class='nvWorksLnk' href='WorksShow.aspx?wid=" + worksList[currentIndex - 1].WorksID + "' title='上一作品:" + worksList[currentIndex - 1].WorksName + "'><img src='images/Prev.png' alt=''/></a>";
                        RightLayer.InnerHtml = "<a class='nvWorksLnk' href='WorksShow.aspx?wid=" + worksList[0].WorksID + "' title='下一作品:" + worksList[0].WorksName + "'><img src='images/Next.png' alt=''/></a>";

                        lnkPre.Text         = "上一作品:" + worksList[currentIndex - 1].WorksName;
                        lnkPre.NavigateUrl  = "WorksShow.aspx?wid=" + worksList[currentIndex - 1].WorksID;
                        lnkNext.Text        = "下一作品:" + worksList[0].WorksName;
                        lnkNext.NavigateUrl = "WorksShow.aspx?wid=" + worksList[0].WorksID;
                    }
                    else//
                    {
                        LeftLayer.InnerHtml  = "<a class='nvWorksLnk' href='WorksShow.aspx?wid=" + worksList[currentIndex - 1].WorksID + "' title='上一作品:" + worksList[currentIndex - 1].WorksName + "'><img src='images/Prev.png' alt=''/></a>";
                        RightLayer.InnerHtml = "<a class='nvWorksLnk' href='WorksShow.aspx?wid=" + worksList[currentIndex + 1].WorksID + "' title='下一作品:" + worksList[currentIndex + 1].WorksName + "'><img src='images/Next.png' alt=''/></a>";

                        lnkPre.Text         = "上一作品:" + worksList[currentIndex - 1].WorksName;
                        lnkPre.NavigateUrl  = "WorksShow.aspx?wid=" + worksList[currentIndex - 1].WorksID;
                        lnkNext.Text        = "下一作品:" + worksList[currentIndex + 1].WorksName;
                        lnkNext.NavigateUrl = "WorksShow.aspx?wid=" + worksList[currentIndex + 1].WorksID;
                    }
                    //WorksNavDiv.InnerHtml = worksNavhtml;
                    //if (em.WorksTypeID != null)
                    //{
                    //    LbWorksType.Text = GetWorksTypeName((int)em.WorksTypeID);
                    //}
                }
                if (userId != 0)
                {
                    using (ChannelFactory <IServiceUser> cfUser = new ChannelFactory <IServiceUser>("ServiceUser"))
                    {
                        IServiceUser user = cfUser.CreateChannel();
                        if (user == null)
                        {
                            throw new ArgumentNullException(nameof(user));
                        }
                        Favorites favWorks =
                            user.GetUserFavorites(userId.ToString())
                            .FirstOrDefault(f => f.DomainID == 5 & f.ItemID == worksId);
                        if (favWorks != null)
                        {
                            BtnFav.Visible   = false;
                            BtnUnFav.Visible = true;
                        }
                        else
                        {
                            BtnFav.Visible   = true;
                            BtnUnFav.Visible = false;
                        }
                    }
                }
            }
            else
            {
                LeftLayer.Visible  = false;
                RightLayer.Visible = false;
            }
        }
Beispiel #13
0
        /// <summary>
        /// 生成列表页面
        /// </summary>
        /// <param name="worksList">作品列表数据源</param>
        /// <param name="pageSize">每页条目数</param>
        /// <param name="pageNum">当前页数</param>
        private void GenericList(List <CSMyWorks> worksList, long pageSize, long pageNum)
        {
            long worksCount = worksList.Count;

            if (worksCount > pageSize)
            {
                if (0 == pageNum)//最后一页
                {
                    pageSize = worksCount - pageSize * (pageNum - 1);
                }
                worksList = worksList.Skip((int)(pageSize * (pageNum - 1))).Take((int)pageSize).ToList();
            }


            if (worksList.Count > 0)
            {
                HtmlContainerControl ulControl = new HtmlGenericControl("ul");
                foreach (var works in worksList)
                {
                    HtmlContainerControl liControl = new HtmlGenericControl("li");

                    //if ()
                    //{

                    //}
                    //为具有删除权限的用户,添加删除作品按钮
                    //ImageButton iBtnDel = new ImageButton
                    //{
                    //    ImageUrl = "./images/delete.png",
                    //    ToolTip = "删除作品",
                    //    Width = 24,
                    //    CommandArgument = works.WorksID.ToString(),
                    //    CommandName = "ItemDel" + works.WorksID,
                    //    ID = "btnDel" + works.WorksID,
                    //    OnClientClick = "javascript:return confirm('确定删除本作品吗?');"
                    //};
                    //iBtnDel.Click += IBtnDel_Click; ;
                    //iBtnDel.Attributes.Add("class", "btnDel");
                    //liControl.Controls.Add(iBtnDel);

                    StringBuilder liBuilder = new StringBuilder();
                    //填充作品信息
                    liBuilder.AppendLine("<a class='cbp-vm-image' href='WorksShow.aspx?wid=" + works.WorksID + "' target='_blank' title='" + works.WorksName + "'><img src='images/works.png'></a>");
                    liBuilder.AppendLine("<h3 class='cbp-vm-title'><a href='WorksShow.aspx?wid=" + works.WorksID + "' target='_blank'>" + works.WorksName + "</a></h3>");

                    using (ChannelFactory <IServiceWorks> channelFactory = new ChannelFactory <IServiceWorks>("ServiceWorks"))
                    {
                        IServiceWorks proxy = channelFactory.CreateChannel();
                        if (works.PeriodID != null)
                        {
                            Periods period = proxy.GetPeriodsById(works.PeriodID.ToString()).FirstOrDefault();
                            if (period?.CourseID != null)
                            {
                                liBuilder.AppendLine("<div class='cbp-vm-price'>" + period.PeriodTitle + "</div>");//作品所属期次
                                string courseId = period.CourseID.ToString();
                                Course course   = proxy.GetCourseById(courseId).FirstOrDefault();
                                if (course != null)
                                {
                                    string courseUrl = "http://va.neu.edu.cn" + course.Url;
                                    liBuilder.AppendLine("<div class='cbp-vm-price'><a href='" + courseUrl + "' target='_blank'>" + course.CourseName + "</a></div>");//作品所属网站
                                }
                            }
                        }

                        if (works.WorksTypeID != null)
                        {
                            VAWcfService.WorksType worksType = proxy.GetWorksTypeById(works.WorksTypeID.ToString());
                            liBuilder.AppendLine("<div class='cbp-vm-price'>" + worksType.WorksTypeName + "</div>");//作品类别
                        }
                    }
                    liBuilder.AppendLine("<div class='cbp-vm-price'>" + $"{works.Created:d}" + "</div>");
                    string desc = Bll.Common.NoHtml(works.DesignIdeas);
                    if (desc.Length > 45)
                    {
                        desc = desc.Substring(0, 45) + "...";
                    }
                    liBuilder.AppendLine("<br/><div class='cbp-vm-details'><a href='WorksShow.aspx?wid=" + works.WorksID + "' target='_blank'>" + desc + "</a></div> ");//作品介绍

                    liControl.Controls.Add(new LiteralControl(liBuilder.ToString()));
                    //liBuilder.AppendLine("</li>");
                    ulControl.Controls.Add(liControl);
                }

                //liBuilder.AppendLine("</ul>");
                worksListDiv.Controls.Clear();
                worksListDiv.Controls.Add(ulControl);
            }

            //worksListDiv.InnerHtml = liBuilder.ToString();
        }