/// <summary> /// 详情页面 /// </summary> /// <param name="noticeId"></param> /// <returns></returns> public ActionResult NoticeDetailed(int noticeId) { try { //根据公告id查询出公告的信息 ANoticeVo notice = (from tbNotices in myModels.B_Notice join tbNoticeType in myModels.S_NoticeType on tbNotices.NoticeTypeID equals tbNoticeType.NoticeTypeID where tbNotices.NoticeID == noticeId select new ANoticeVo { NoticeName = tbNotices.NoticeName, ReleaseTimeStr = tbNotices.ReleaseTimeStr, NoticeContent = tbNotices.NoticeContent, NoticeTypeName = tbNoticeType.NoticeType, ReleaseTimeStrr = tbNotices.ReleaseTimeStr.ToString() }).Single(); //加载公告内容 string textFileName = Server.MapPath("~/Document/Notice/Text/") + notice.NoticeContent; if (System.IO.File.Exists(textFileName)) { //文件存在 notice.NoticeContent = System.IO.File.ReadAllText(textFileName); } else { //文件不存在 notice.NoticeContent = "<p>没有找到公告内容,可能文件已经丢失;请重新编辑发布</p>"; } //加载附件列表 List <FilesVo> files = (from tbFile in myModels.B_File join tbNoticeTable in myModels.B_Notice on tbFile.NoticeID equals tbNoticeTable.NoticeID join tbFileType in myModels.S_FileType on tbFile.FileTypeID equals tbFileType.FileTypeID where tbFile.NoticeID == noticeId select new FilesVo { FileID = tbFile.FileID, FileTypeID = tbFile.FileTypeID, Files = tbFile.Files, FileTypeName = tbFileType.FileTypeName, FileName = tbFile.Files }).ToList(); ViewBag.isErrro = false; //用来处理异常 ViewBag.notice = notice; //公告的内容 ViewBag.files = files; } catch (Exception e) { Console.WriteLine(e); ViewBag.isErrro = true; ViewBag.notice = null;//为了避免出现异常 ViewBag.files = null; } return(View()); }
/// <summary> /// 查询公告信息 by id (修改) /// </summary> /// <param name="noticeId"></param> /// <returns></returns> public ActionResult SelectNoticeById(int?noticeId) //绑定数据哪里可复制查询方法,然后加多where查询语句 { try { //根据公告id查询出公告的信息 ANoticeVo notice = (from tbNotices in myModels.B_Notice join tbNoticeType in myModels.S_NoticeType on tbNotices.NoticeTypeID equals tbNoticeType.NoticeTypeID join tbSPromulgatorUnit in myModels.S_PromulgatorUnit on tbNotices.PromulgatorUnitID equals tbSPromulgatorUnit.PromulgatorUnitID where tbNotices.NoticeID == noticeId select new ANoticeVo { NoticeID = tbNotices.NoticeID, NoticeName = tbNotices.NoticeName, PromulgatorUnitID = tbSPromulgatorUnit.PromulgatorUnitID, Effective = tbNotices.Effective, EffectiveStr = tbNotices.Effective.ToString(), ReleaseTimeStr = tbNotices.ReleaseTimeStr, NoticeContent = tbNotices.NoticeContent, NoticeTypeName = tbNoticeType.NoticeType, NoticeTypeID = tbNoticeType.NoticeTypeID, ReleaseTimeStrr = tbNotices.ReleaseTimeStr.ToString() }).Single(); //加载公告内容 文件地址名称 notice.NoticeContent; // Server.MapPath("~/Document/Notice/Text/")监听物理地址 string textFileName = Server.MapPath("~/Document/Notice/Text/") + notice.NoticeContent; // if (System.IO.File.Exists(textFileName)) {//文件存在 //ReadAllText把文件里面的所有行读取出来 notice.NoticeContent = System.IO.File.ReadAllText(textFileName); } else {//文件不存在返回 notice.NoticeContent = "<p>没有找到公告内容,可能文件已经丢失,请重新编辑发布</p>"; } //加载附件列表到session List <FilesVo> sessionFiles = (from tbFile in myModels.B_File join tbNoticeTable in myModels.B_Notice on tbFile.NoticeID equals tbNoticeTable.NoticeID join tbFileType in myModels.S_FileType on tbFile.FileTypeID equals tbFileType.FileTypeID where tbFile.NoticeID == noticeId select new FilesVo { FileID = tbFile.FileID, FileTypeID = tbFile.FileTypeID, Files = tbFile.Files, FileTypeName = tbFileType.FileTypeName, FileName = tbFile.Files }).ToList(); for (int i = 0; i < sessionFiles.Count; i++) { //通过正则表达式获取文件名称 //Files 需要被匹配的正则表达式 string strFileName = System.Text.RegularExpressions.Regex.Match(sessionFiles[i].Files, "(?<=fileName=).+?(?=\" )").Value; sessionFiles[i].FileName = Server.UrlEncode(strFileName); } List <FilesVo> oldSessionFiles = new List <FilesVo>(); foreach (FilesVo file in sessionFiles) { //用来存储以前的数据 oldSessionFiles.Add(file); } //更新sessionFiles Session["sessionFiles"] = sessionFiles; //记录原来的附件 Session["oldSessionFiles"] = oldSessionFiles; return(Json(notice, JsonRequestBehavior.AllowGet)); } catch (Exception e) { Console.WriteLine(e); return(Json(null, JsonRequestBehavior.AllowGet)); } }