从aspx页面下载Word可编辑文档

时间:2013-04-23 09:25:09

标签: c# asp.net ms-word

我目前有一个aspx页面返回一个html表单(带有images和css)。我想获得这个表单的下载Word可编辑版本,而无需重写所有代码。有可能吗?

一个例子:我有一个页面'WebForm2.aspx',其中包含这样的简单内容。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" 
Inherits="WebApplication15.WebForm2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <h1>Title</h1>
        <asp:CheckBox runat="server" ID="myTest" Text="Doc 1" /><br />
        <asp:CheckBox runat="server" ID="myTest2" Text="Doc 2" /><br />
        <asp:CheckBox runat="server" ID="myTest3" Text="Doc 3" /><br />
        <asp:CheckBox runat="server" ID="myTest4" Text="Doc 4" /><br />
    </div>
    </form>
</body>
</html>

我想从其他页面中获取该例如一个按钮,该按钮允许您在可编辑的Word文档中下载“WebForm2.aspx”的内容。

我在Page_PreRender方法中添加它

Response.AddHeader("Content-Type", "application/msword");

部分工作。如果我保存文档css并且没有加载图像但是如果我只打开可下载的内容css并且加载了图像。

1 个答案:

答案 0 :(得分:1)

MS Word可以编辑html文档,因此通过在标题中添加Content-Type = application / msword记录将使浏览器在浏览器中打开您的页面而不用css和图像。

在页面上的prerender事件中添加以下代码

    Response.AddHeader("Content-Type", "application/msword");