/// <summary> /// 存储作品到works表;存储作品和多个成员关系 /// </summary> /// <param name="typeId">类型在type表中的id</param> /// <param name="title">作品标题</param> /// <param name="time">作品完成时间</param> /// <param name="introduction">作品简介</param> /// <param name="workPicName">作品图片文件名(不含路径)</param> /// <param name="link">作品链接</param> void submitWork(int typeId,string title,string time, string introduction, string workPicName,string link) { using (var db = new ITStudioEntities()) { var work = new works(); // 要添加的作品 work.typeId = typeId; work.picture = workPicName; work.title = title; work.introduction = introduction; work.time = time; work.link = link; db.works.Add(work); db.SaveChanges(); int workId = work.id; // works work2 = db.works.SingleOrDefault(a => a.picture == work.picture); //意义不明,可能是为了获取刚添加的作品。 // 存储多个作者到 workmap 表 for (int i = 0; i < ChklstAuthors.Items.Count; i++) // 遍历CheckBoxList { if (ChklstAuthors.Items[i].Selected == true) { int memberId = 1; if (Filter.IsNumeric(ChklstAuthors.Items[i].Value)) { memberId = Convert.ToInt32(ChklstAuthors.Items[i].Value); } var map = new workmap(); map.memberId = memberId; map.workId = workId; db.workmap.Add(map); db.SaveChanges(); } } } }
/// <summary> /// 提交修改键 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void BtnSubmit_Click(object sender, EventArgs e) { //避免js失效,后端验证 string title = txtTitle.Text; if (txtTitle.Text == null || txtTitle.Text.Trim() == "") { LblStatus.Text = "请填写标题"; LblStatus.Visible = true; return; } string content = txtIntroduction.InnerText; if (content == null || content.Trim() == "") { LblStatus.Text = "请填写内容"; LblStatus.Visible = true; return; } string workPicName = uploadWorkPic(); //if (workPicName == null || workPicName.Trim() == "") // 可以不修改作品图片 //{ // LblStatus.Text = "请选择作品图片"; // LblStatus.Visible = true; // return; //} string time = txtTime.Text; if (time == null || time.Trim() == "") { LblStatus.Text = "请填写时间"; LblStatus.Visible = true; return; } int id = Convert.ToInt32(Request.QueryString["id"]); //删除旧封面图片 if (workPicName != null) //此时:已上传新封面图片,文件名未写入数据库 { string oldCoverPic = ""; using (var db = new ITStudioEntities()) { works w = db.works.SingleOrDefault(a => a.id == id); if (w == null) { return; } oldCoverPic = w.picture; string oldCoverPicPath = "/upload/workPicture/" + oldCoverPic; //相对路径 oldCoverPicPath = Server.MapPath(oldCoverPicPath); //必须经过这一步操作才能变成有效路径 if (System.IO.File.Exists(oldCoverPicPath))//先判断文件是否存在,再执行操作 { System.IO.File.Delete(oldCoverPicPath); //删除文件 } } } // 写入数据库 using (var db = new ITStudioEntities()) { //修改works表 works work = db.works.SingleOrDefault(a => a.id == id); work.typeId = Convert.ToInt32(ddlType.SelectedValue); if (workPicName != null) { work.picture = workPicName; // 修改了图片的情况 ImgCurrentWorkPic.ImageUrl = "/upload/workPicture/" + workPicName; } work.title = title; work.introduction = content; work.time = txtTime.Text; work.link = ITStudioHelper.addProtocol(txtLink.Text); //修改workmap表 for (int i = 0; i < ChklstAuthors.Items.Count; i++) // 遍历CheckBoxList { int memberId = Convert.ToInt32(ChklstAuthors.Items[i].Value); workmap map = db.workmap.SingleOrDefault(a => a.workId == id && a.memberId == memberId); if (map != null) { db.workmap.Remove(map); } } for (int i = 0; i < ChklstAuthors.Items.Count; i++) // 遍历CheckBoxList { if (ChklstAuthors.Items[i].Selected == true) { int memberId = 1; if (Filter.IsNumeric(ChklstAuthors.Items[i].Value)) { memberId = Convert.ToInt32(ChklstAuthors.Items[i].Value); } var map = new workmap(); map.memberId = memberId; map.workId = id; db.workmap.Add(map); } } db.SaveChanges(); } ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('修改成功');</script>"); }