using System; using System.Data; using System.IO; using System.Web; using System.Web.UI.WebControls; using SuperMap.RealEstate.Utility; using SuperMap.RealEstate.Web.UI; using Business = SuperMap.RealEstate.Finance.Running.Business; namespace SuperMap.RealEstate.Finance.Modules.ATTACHMENT { public partial class ATTACHMENTPage : SuperMap.RealEstate.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) return; if (!string.IsNullOrEmpty(Request["PROINST_ID"]) || !string.IsNullOrEmpty(Request["PRESONNAME"])) { //载入数据 PROINST_ID.Text = string.IsNullOrEmpty(Request["PROINST_ID"]) ? "" : Request["PROINST_ID"].ToString(); PRESONNAME.Text = PassportInfo.Name; //ATTACHMENT_ID.Text = "22"; BindRepick(); } else { throw new Exception("缺少必要参数!"); } } private void BindRepick() { //绑定对应的控件 /*Repeater1.DataSource = (new Business.ATTACHMENT(Transaction)).ExecuteDataTable(string.Format( @"SELECT * FROM FINANCE_RUNNING.T_ATTACHMENT WHERE RELATION_TABLE ={0} {1} {2} ", "'PERSONNEL_STORAGE.T_POSITION'", string.IsNullOrEmpty(Request["RELATION_ID"]) ? "" : " AND RELATION_ID =" + RELATION_ID.Text.ToDecrypt(), string.IsNullOrEmpty(Request["STAFF_ID"]) ? "" : " AND STAFF_ID = " + STAFF_ID.Text.ToDecrypt()));*/ Repeater1.DataBind(); } public byte[] StreamToBytes(Stream stream) { byte[] bytes = new byte[stream.Length]; stream.Read(bytes, 0, bytes.Length); // 设置当前流的位置为流的开始 stream.Seek(0, SeekOrigin.Begin); return bytes; } protected void LinkButton_Click(object sender, EventArgs e) { LinkButton LinkButton = sender as LinkButton; //下载内容 Business.ATTACHMENT _ATTACHMENT = new Business.ATTACHMENT(Transaction); _ATTACHMENT.ATTACHMENT_ID_Encrypt = LinkButton.Attributes["base-code"]; if (_ATTACHMENT.Select()) { System.IO.MemoryStream ms = new System.IO.MemoryStream(); string uploadPath = HttpContext.Current.Server.MapPath("~/UploadImageDir/CompactFile/") + "\\" + _ATTACHMENT.ATTACHMENT_DESC; HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Buffer = true; HttpContext.Current.Response.Charset = "utf-8"; HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");//设置输出流为简体中文 HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + (string.IsNullOrEmpty(_ATTACHMENT.ATTACHMENT_DESC) ? HttpUtility.UrlEncode(_ATTACHMENT.ATTACHMENT_DESC) : HttpUtility.UrlEncode(_ATTACHMENT.ATTACHMENT_DESC))); HttpContext.Current.Response.BinaryWrite(System.IO.File.ReadAllBytes(uploadPath)); HttpContext.Current.Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 HttpContext.Current.Response.End(); ms.Close(); ms.Dispose(); } } protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == System.Web.UI.WebControls.ListItemType.Item || e.Item.ItemType == System.Web.UI.WebControls.ListItemType.AlternatingItem || e.Item.ItemType == System.Web.UI.WebControls.ListItemType.SelectedItem) { DataRowView rowv = (DataRowView)e.Item.DataItem; LinkButton LinkButton = e.Item.FindControl("LinkButton") as LinkButton; LinkButton.ToolTip = string.IsNullOrEmpty(rowv["ATTACHMENT_DESC"].ToString()) ? rowv["ATTACHMENT_PATH"].ToString() : rowv["ATTACHMENT_DESC"].ToString(); LinkButton.Text = "" + (LinkButton.ToolTip.Length > 30 ? LinkButton.ToolTip.Substring(0, 25) + "..." : LinkButton.ToolTip) + ""; if (!string.IsNullOrWhiteSpace(rowv["OTHER_NAME"].ToString())) { LinkButton.OnClientClick = GetOpenPopDialogClientScript(rowv["OTHER_NAME"].ToString() + "?DataType=RUNNING&FINANCEPROINST_ID=" + Request["PROINST_ID"], "DownloadPage", 900, 600); } else { LinkButton.Attributes["base-code"] = rowv["ATTACHMENT_ID"].ToEncrypt(); } LinkButton DelButton = e.Item.FindControl("DelButton") as LinkButton; DelButton.Text = ""; DelButton.Attributes["base-code"] = rowv["ATTACHMENT_ID"].ToEncrypt(); } } protected void DelButton_Click(object sender, EventArgs e) { try { LinkButton LinkButton = sender as LinkButton; int _ATTACHMENT_ID = int.Parse(LinkButton.Attributes["base-code"].ToDecrypt()); //记录历史库 //Business.ATTACHMENT _ATTACHMENT = new Business.ATTACHMENT(Transaction); //_ATTACHMENT.ATTACHMENT_ID = _ATTACHMENT_ID; //if (_ATTACHMENT.Select()) //{ // Historys.ATTACHMENT _HistoryATTACHMENT = new Historys.ATTACHMENT(Transaction); // _HistoryATTACHMENT.ResetProperty(); // _HistoryATTACHMENT.CopyFrom(_ATTACHMENT); // _HistoryATTACHMENT.OPERATE_DATE = DateTime.Now; // _HistoryATTACHMENT.OPERATE_USER = PassportInfo.Name; // _HistoryATTACHMENT.OPERATE_USERID = PassportInfo.ID; // _HistoryATTACHMENT.Insert(); //} new Business.ATTACHMENT(Transaction).Delete(_ATTACHMENT_ID); BindRepick(); RefreshOpenerGridPage(RefreshGridPageType.Update); } catch (Exception ex) { //回滚事务 Transaction.Rollback(); //记录日志 ErrorLogHelper.Write(ex); #if DEBUG Alert("删除失败!可能的原因:\n" + ex.Message); #else Alert("删除失败!"); #endif } } protected void CallBackButton1_Click(object sender, EventArgs e) { BindRepick(); RefreshOpenerGridPage(RefreshGridPageType.Insert); } } }