using BLL; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.IO; using System.Linq; namespace FineUIPro.Web.Evaluation { public partial class FilesManagement : PageBase { #region 加载 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { InitTreeMenu(); ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); // 绑定表格 } } #endregion #region 查询 protected void TextBox_TextChanged(object sender, EventArgs e) { this.InitTreeMenu(); } #endregion #region 加载树 private void InitTreeMenu() { this.tvFileManagement.Nodes.Clear(); TreeNode rootRole = new TreeNode(); rootRole.Text = "FO"; rootRole.NodeID = "0"; rootRole.Expanded = true; this.tvFileManagement.Nodes.Add(rootRole); BoundTree(rootRole.Nodes); } /// /// 遍历节点 /// /// /// /// private void BoundTree(TreeNodeCollection nodes) { List datas = BLL.SESRelatedDataService.GetSESRelatedDataList(); if (!string.IsNullOrEmpty(this.txtFO.Text)) { datas = datas.Where(e => e.FO_NO.Contains(this.txtFO.Text.Trim())).ToList(); } if (datas.Count() > 0) { TreeNode tn = null; foreach (var q in datas) { tn = new TreeNode(); tn.Text = q.FO_NO; tn.NodeID = q.FO_NO; tn.ToolTip = q.FO_NO; tn.EnableClickEvent = true; nodes.Add(tn); } } } #endregion #region Tree点击事件 /// /// 选择角色事件 /// /// /// protected void tvFileManagement_NodeCommand(object sender, TreeCommandEventArgs e) { this.BindGrid(this.tvFileManagement.SelectedNodeID); } #endregion #region BindGrid private void BindGrid(string fo) { string strSql = ""; strSql = @"SELECT FileId, FO, FileName, FileType, FileLength, UploadUser, UploadDate, Remark FROM FilesManagement WHERE FO=@FO ORDER BY UploadDate"; List parms = new List(); parms.Add(new SqlParameter("@FO", fo)); SqlParameter[] parameter = parms.ToArray(); DataTable dt = SQLHelper.GetDataTableRunText(strSql, parameter); Grid1.RecordCount = dt.Rows.Count; var table = this.GetPagedDataTable(Grid1, dt); Grid1.DataSource = table; Grid1.DataBind(); } #endregion #region 双击行事件 /// /// 双击下载附件 /// /// /// protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { string url = ""; string Id = Grid1.SelectedRowID; var files = (from x in Funs.DB.FilesManagement where x.FileId == Id select x).FirstOrDefault(); if (files != null) { if (!string.IsNullOrEmpty(files.FileUrl)) { ////this.ShowFile(files.FileUrl); //string fileName = files.FileName;//客户端保存的文件名 ////string filePath = Server.MapPath("DownLoad/aaa.zip");//路径 //string filePath = BLL.Funs.RootPath.Replace('\\', '/') + "Downloads/aaa.zip";//files.FileUrl.Replace('\\', '/'); //FileInfo fileInfo = new FileInfo(filePath); //Response.Clear(); //Response.ClearContent(); //Response.ClearHeaders(); //Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName); //Response.AddHeader("Content-Length", fileInfo.Length.ToString()); //Response.AddHeader("Content-Transfer-Encoding", "binary"); //Response.ContentType = "application/octet-stream"; //Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312"); //Response.WriteFile(fileInfo.FullName); //Response.Flush(); //Response.End(); string file = files.FileUrl.Replace('\\', '/'); url = BLL.Funs.RootPath.Replace('\\', '/') + file; string fileName = files.FileName; long fileSize = long.Parse(files.FileLength); Response.Clear(); Response.ContentType = "application/octet-stream"; Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); Response.AddHeader("Content-Length", fileSize.ToString()); Response.TransmitFile(url, 0, fileSize); Response.Flush(); Response.End(); } else { Alert.ShowInTop("没有附件或附件已删除!", MessageBoxIcon.Warning); return; } } } #endregion #region 分页、排序 /// /// 分页 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { Grid1.PageIndex = e.NewPageIndex; this.BindGrid(this.tvFileManagement.SelectedNodeID); } /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e) { Grid1.SortDirection = e.SortDirection; Grid1.SortField = e.SortField; this.BindGrid(this.tvFileManagement.SelectedNodeID); } /// /// 分页显示条数下拉框 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); this.BindGrid(this.tvFileManagement.SelectedNodeID); } #endregion } }