⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 compose.aspx.cs

📁 一款小型的个人办公系统
💻 CS
📖 第 1 页 / 共 2 页
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.IO;
using OASelfManage.Components;

namespace OASelfManage.Module.Mail
{
	/// <summary>
	/// Compose 的摘要说明。
	/// </summary>
	public class Compose : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.Label lblSendTo;
		protected System.Web.UI.WebControls.Label lblCcTo;
		protected System.Web.UI.WebControls.Label lblBccTo;
		protected System.Web.UI.WebControls.Label lblSubject;
		protected System.Web.UI.WebControls.TextBox txtSubject;
		protected System.Web.UI.WebControls.Label lblImportance;
		protected System.Web.UI.WebControls.DropDownList listImportance;
		protected System.Web.UI.WebControls.Label lblBody;
		protected System.Web.UI.WebControls.TextBox txtBody;
		protected System.Web.UI.WebControls.Button btnUpload;
		protected System.Web.UI.WebControls.ListBox listUp;
		protected System.Web.UI.WebControls.Button btnRemove;
		protected System.Web.UI.WebControls.Button btnSendMail;
		protected System.Web.UI.HtmlControls.HtmlInputFile filecontrol1;
		protected System.Web.UI.HtmlControls.HtmlInputFile filecontrol2;
		protected System.Web.UI.HtmlControls.HtmlInputFile File1;
		protected System.Web.UI.HtmlControls.HtmlInputFile File2;
	

		protected static string Username;
		public string ClassID;
		public static string MailID;
		public string Action;
		public string SendTo="",CcTo="",BccTo="",SendToRealName="",CcToRealName="",BccToRealName="";
		protected  ArrayList upattlist = new ArrayList();

		private void Page_Load(object sender, System.EventArgs e)
		{
			ClassID	 = (Request.QueryString["ClassID"]!=null)?Request.QueryString["ClassID"].ToString():"";
			MailID	 = (Request.QueryString["MailID"]!=null)?Request.QueryString["MailID"].ToString():"";
			HttpCookie UserCookie = Request.Cookies["Username"];
			Username = UserCookie.Value.ToString();
			if(!IsPostBack)
			{
				Session["upattlist"]=upattlist;
				//upattlist.Clear();
				
				// Action=1 回复 Action=2 转发 Action=3 指定收件人的寄信
				if (Request.QueryString["Action"]!=null)
				{	
					MailID  = (Request.QueryString["MailID"]==null)?"":Request.QueryString["MailID"].ToString();
					if(Request.QueryString["Action"]=="1")
						ReplySet();  // 进行回复邮件设置
					if(Request.QueryString["Action"]=="2")
						ForwardSet();  // 进行转发邮件设置
					if(Request.QueryString["Action"]=="3")
						ReceiverSet();  // 进行发信人设置 

				}
				PopulateListView();
								
			}
		}

		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.btnUpload.Click += new System.EventHandler(this.btnUpload_Click);
			this.btnRemove.Click += new System.EventHandler(this.btnRemove_Click);
			this.btnSendMail.Click += new System.EventHandler(this.btnSendMail_Click);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion


		#region 回复邮件设置
		/// <summary>
		/// 回复邮件设置
		/// </summary>
		private void ReplySet()
		{		
			// 读取原邮件内容
			OASelfManage.Components.Mail mailclass = new OASelfManage.Components.Mail();
			SqlDataReader dataReader = null; 
			try
			{
				dataReader = mailclass.GetMailCompleteInfoDbreader(MailID);
			}
			catch
			{
				Server.Transfer("../../Error.aspx");
			}
			
			if(dataReader.Read())
			{
				string tmpStr		 = "<br/>"+dataReader[7].ToString();
				tmpStr				 = tmpStr.Replace("<br/>","\r\n>");
				this.txtSubject.Text = "Re:"+dataReader[4].ToString();
				SendToRealName       = dataReader[1].ToString()+",";
				SendTo				 = dataReader[10].ToString()+",";
				this.txtBody.Text    = SendToRealName+"你好!\n\n\n\n\n\n\n";
				this.txtBody.Text   += "======="+dataReader[3].ToString()+"你在来信中写道:"+"=======\n\n";
				this.txtBody.Text	+= tmpStr;				
			}
			dataReader.Close();
			mailclass = null;			
		}
		#endregion

		#region 转发邮件设置
		/// <summary>
		/// 转发邮件设置
		/// </summary>
		private void ForwardSet()
		{		
			// 读取原邮件内容
			OASelfManage.Components.Mail mailclass = new OASelfManage.Components.Mail();
			SqlDataReader dataReader = null; 
			try
			{
				dataReader = mailclass.GetMailCompleteInfoDbreader(MailID);
			}
			catch
			{
				Server.Transfer("../../Error.aspx");
			}
			
			if(dataReader.Read())
			{
				string tmpStr		 = "<br/>"+dataReader[7].ToString();
				tmpStr				 = tmpStr.Replace("<br/>","\r\n>");
				this.txtSubject.Text = "Fw::"+dataReader[4].ToString();
				this.txtBody.Text    = ",你好!\n\n\n\n\n\n\n";
				this.txtBody.Text   += "=======下面是转发邮件=======\n";
				this.txtBody.Text   += "原邮件发件人姓名:"+dataReader[1].ToString()+"\n";
				this.txtBody.Text   += "原邮件发件人代号:"+dataReader[10].ToString()+"\n";
				this.txtBody.Text	+= tmpStr;
				
			}
			dataReader.Close();

			

			try
			{
				dataReader = mailclass.GetMailAttInfoDbreader(MailID);
			}
			catch
			{
				Server.Transfer("../../Error.aspx");
			}
			while(dataReader.Read())
			{	
				MailAttachFile att = new MailAttachFile();
				att.FileAttribute  = 0;
				att.FileSize       = Int32.Parse(dataReader[1].ToString());
				att.FileName	   = dataReader[0].ToString();
				att.FileAuthor     = Username;
				att.FileCatlog     = "邮件";
				att.FileVisualPath = dataReader[2].ToString();	
				upattlist.Add(att);	
			}
			BindAttList();
			
			
			dataReader.Close();


			mailclass = null;			
		}
		#endregion

		#region 发信人设置
		/// <summary>
		/// 发信人设置
		/// </summary>
		private void ReceiverSet()
		{	
			SendToRealName       = (Request.QueryString["Name"]==null)?"":Request.QueryString["Name"].ToString()+",";
			SendTo				 = (Request.QueryString["Username"]==null)?"":Request.QueryString["Username"].ToString()+",";
		}
		#endregion

 
		
		#region 初始化下拉列表框
		/// <summary>
		/// 对下拉列表进行初始化
		/// </summary>
		private void PopulateListView() 
		{
			Class cls = new Class();			
			listImportance.Items.Clear();
			listImportance.Items.Add(new ListItem("一般","1"));
			listImportance.Items.Add(new ListItem("重要","2"));
			listImportance.Items.Add(new ListItem("特别重要","3"));
 
			
			cls = null;
		}
		#endregion

		#region 处理邮件附件上传操作,传回附件数组
		/// <summary>
		/// 处理上传操作,附件以链接形式存放
		/// </summary>
		/// <param name="MailReceiverStr"> 用户登录名字符串,用逗号隔开 </param>
		private ArrayList AttUpload(string MailReceiverStr)
		{	
			HtmlForm FrmCompose   = (HtmlForm)this.Page.FindControl("Compose");
			string[] RecvIdAr     = System.Text.RegularExpressions.Regex.Split(MailReceiverStr ,",");
			ArrayList listattfile = new ArrayList();
			// 存放附件至发件人目录中,随机生成目录名
			Random TempNameInt    = new Random(); 
			string NewMailDirName = TempNameInt.Next(100000000).ToString();
			string FileName       = "";
			try
			{
				if(!Directory.Exists(Server.MapPath(".")+"\\AttachFiles\\"+Username))
					Directory.CreateDirectory(Server.MapPath(".")+"\\AttachFiles\\"+Username);
			
				Directory.CreateDirectory(Server.MapPath(".")+"\\AttachFiles\\"+Username+"\\"+NewMailDirName);
				for (int i=0;i<FrmCompose.Controls.Count;i++)
				{
					if(FrmCompose.Controls [i].GetType().ToString()=="System.Web.UI.HtmlControls.HtmlInputFile")
					{
						HtmlInputFile hif = ((HtmlInputFile)(FrmCompose.Controls[i]));
						if(hif.PostedFile.FileName.Trim()!="")
						{	
							FileName = System.IO .Path.GetFileName(hif.PostedFile.FileName);	
							MailAttachFile att = new MailAttachFile();
							// 初始化
							att.FileAttribute  = 0;
							att.FileSize       = hif.PostedFile.ContentLength;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -