/// <summary> /// 更新父版块最后发帖信息 /// </summary> /// <param name="foruminfo"></param> /// <param name="postinfo"></param> private static void UpdateParentForumLastPost(ForumInfo foruminfo, PostInfo postinfo) { int parentFid = Utils.StrToInt(foruminfo.Parentidlist.Split(',')[1], 0);//去parentidlist属性split后的第一个数组元素,因为第0个是分类 if (parentFid > 0) { string fidList = ""; //获取到游客可以访问到的版块fidlist foreach (string fid in AdminForums.FindChildNode(parentFid.ToString()).Split(',')) { if (fid == "0") { continue; } foreach (DataRow dr in Forums.GetOpenForumList().Rows) { if (dr["fid"].ToString().Trim() == fid.Trim()) { fidList += fid + ","; break; } } } if (string.IsNullOrEmpty(fidList)) { return; } int forumsTid = Data.Forums.GetForumsLastPostTid(fidList.TrimEnd(',')); if (forumsTid > 0) { postinfo = Discuz.Data.Posts.GetLastPostByTid(forumsTid, PostTables.GetPostTableName(forumsTid)); } else { postinfo.Pid = postinfo.Tid = 0; postinfo.Title = postinfo.Topictitle = "从未"; postinfo.Postdatetime = "1900-1-1"; postinfo.Poster = ""; postinfo.Posterid = 0; } Discuz.Data.Forums.UpdateForumLastPost(GetForumInfo(parentFid), postinfo); } }