如何在点击链接按钮时打开word文档

时间:2010-01-18 09:20:00

标签: asp.net

我的gridview中有一个链接按钮,一旦用户单击该链接按钮,我需要打开一个word文档(文档存储在服务器中的路径就像这样c:/abc/doc/abc1.doc)所以现在我应该让用户下载该文档以供查看。

如何实现它  谢谢

3 个答案:

答案 0 :(得分:1)

您应该考虑使用TransmitFile方法而不是WriteFile方法。对于你正在做的事情,它更多efficient

protected void btnPurchaseOrderOpen_Click(object sender, EventArgs e)
{
    Response.Clear();
    Response.ContentType = "application/pdf";
    Response.AddHeader("content-disposition", "attachment;filename=one.pdf");
    Response.TransmitFile(@"c:\test\one.pdf");
    Response.End();
}

答案 1 :(得分:0)

在项目中添加对word对象库的引用。 然后试试这个

 Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
    app.Visible = true;
    object visible = true;
    object fileName = @"C:\temp\sample.doc";
    object optional = System.Type.Missing;
    Microsoft.Office.Interop.Word.Document doc = app.Documents.Open(ref fileName, ref optional, ref 
        optional, ref optional, ref optional, ref optional, ref optional, ref 
        optional, ref optional, ref optional,ref optional,ref optional,ref optional,ref optional,ref optional,ref optional);

如果你想要网页浏览器,只需看看saar的答案

答案 2 :(得分:0)

asp.net,这意味着你想在网络浏览器中打开文档。这里是简单的代码片段

    string fPath = @"c:/abc/doc/abc1.doc";
    FileInfo myDoc = new FileInfo(fPath);

    Response.Clear();
    Response.ContentType = "Application/msword";
    Response.AddHeader("content-disposition", "attachment;filename=" + myDoc.Name);
    Response.AddHeader("Content-Length", myDoc.Length.ToString());
    Response.ContentType = "application/octet-stream";

    Response.WriteFile(myDoc.FullName);

    Response.End();