如何实现这样的效果asp.

motolin17sun 2009-04-08 10:58:18
怎么写代码实现这样的效果??
从Sql数据库中取出数据(存入为.doc文件);
现在点击按纽(详细)查看.doc 的内容. 弹出对话框(打开----保存----取消);
我想点打开时,直接看文件内容;
点保存时,直接另存为(弹出另存为对话框),但不要用(如迅雷这样的下载),直接可以保存就好了.


这是我写的代码:
protected void Page_Load(object sender, EventArgs e)
{

string strGkxID = Request.QueryString["GkxID"];

Database db = new Database();
try
{
SqlDataReader dataReader;
SqlParameter[] parameters = {
db.MakeInParam("@SYS_ACTION",SqlDbType.Char,3,"INF"),
db.MakeInParam("@GkxID",SqlDbType.Int,4,Convert.ToInt32( strGkxID )),
};
db.RunProc("sp_Sssb_Gkx_New", parameters, out dataReader);
if (dataReader.Read())
{
if (dataReader["fj"].GetType().ToString() == "System.DBNull")
{
Response.Write("没有附件可以显示!");
}
else
{
byte[] fj = (byte[])dataReader["fj"];
if (fj.Length == 0)
{
Response.Write("没有附件可以显示!");
}
else
{


Response.ContentType = "application/msword";
Response.BinaryWrite((byte[])dataReader["fj"]);

//string fName = "";
//fName = HttpUtility.UrlEncode("果壳箱附件") + ".doc";
//Response.AddHeader("content-disposition", "attachment;filename=" + fName);

Response.Flush();
Response.End();

}
}
}
}
catch (Exception ex)
{
ErrLog.AddErrLog("2", "sp_Sssb_Gkx_New(Show -- Edit)", ex.Message);
Response.Write("<script language=javascript>alert('" + ex.ToString() + "');</script>");
}
finally
{
db.Close();
}
}
...全文
88 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
春天的气息 2009-04-11
  • 打赏
  • 举报
回复
思考一下,迅雷的针探能力太强了,

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧