110,535
社区成员
发帖
与我相关
我的任务
分享
protected void SendBut_Click(object sender, EventArgs e)
{
//判断是否填入 收件人名 传真号 标题
if (this.RecipientName.Text != "" && this.FileNumber.Text != "" && this.DocumentName.Text != "")
{
ExpertControl(this, DocumentType.Word, Server.MapPath("result.doc"), this.DocumentName.Text, this.RecipientName.Text, this.FileNumber.Text);
}
else
{
Response.Write("<script>alert('请填写完整的收件人姓名,传真号,传真标题')</script>");
}
}
public void ExpertControl(System.Web.UI.Control source, DocumentType type, string File, string FileTittle, string ReceiverName, string FaxNumber)
{
//设置Http的头信息,编码格式
if (type == DocumentType.Excel)
{
//Excel
Response.AppendHeader("Content-Disposition", "attachment;filename=result.xls");
Response.ContentType = "application/ms-excel";
}
else if (type == DocumentType.Word)
{
//Word
Response.AppendHeader("Content-Disposition", "attachment;filename=result.doc");
Response.ContentType = "application/ms-word";
}
Response.Charset = "utf-8";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
//关闭控件的视图状态
source.Page.EnableViewState = false;
//初始化HtmlWriter
System.IO.StringWriter writer = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWriter = new System.Web.UI.HtmlTextWriter(writer);
source.RenderControl(htmlWriter);
////////////houjia///////////////
StreamWriter streamwriter = new StreamWriter(File); //创建数据流
streamwriter.Write(writer.ToString()); //输出
streamwriter.Close(); //关闭流
SendFaxMessage(File, FileTittle, ReceiverName, FaxNumber);
//输出
// Response.Write(writer.ToString());
Response.End();
}
//文档类型枚举
public enum DocumentType
{
Word,
Excel
}
// Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/**/
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.SendBut.Click += new System.EventHandler(this.SendBut_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
/// <summary>
/// 传真发送
/// </summary>
/// <param name="FileMessage">文件内容</param>
/// <param name="FileTittle">文档名</param>
/// <param name="ReceiverName">收件人姓名或者收件人公司名</param>
/// <param name="FaxNumber">收件人传真号码</param>
public void SendFaxMessage(string FileInfoMessage, string FileTittle, string ReceiverName, string FaxNumber)
{
if (FaxNumber != "")
{
try
{
FAXCOMLib.FaxServer faxServer = new FAXCOMLib.FaxServerClass(); //初始化传真组件
faxServer.Connect(Environment.MachineName); //获取当前服务器名
FAXCOMLib.FaxDoc faxDoc = (FAXCOMLib.FaxDoc)faxServer.CreateDocument(FileInfoMessage);
faxDoc.RecipientName = ReceiverName; //收件人姓名或者公司名
faxDoc.FaxNumber = FaxNumber; //收件人传真号码
faxDoc.DisplayName = FileTittle; //文档名
int Response = faxDoc.Send(); //程序到fax server的流水號
faxServer.Disconnect();
}
catch (Exception Ex)
{
Ex.ToString();
}
}
}