无法获取内部HTML

我遇到了错误: 无法得到ExportDiv的内容,因为内容不是字面的,我做了一个search,得到了这个非常有用的资源!

我知道我在我的aspx页面中使用服务器控件。 页面从数据库中dynamic获取数据。 如何将这些数据导出为ex​​cel,因为在我的html页面中有服务器控件。

这里是一些site.aspx代码到页面

<form id="form1" runat="server"> <div runat="server" id="ExportDiv"> <asp:Panel ID="ResultsPanel" runat="server"> <table cellpadding="0" class="style1"> <tr> <td class="style2"> <asp:DetailsView ID="DetailsView1" runat="server" CellPadding="4" </asp:DetailsView> </td> <td> Poor</td> <td> Good</td> <td class="style3"> Very Good</td> <td> Total Responses</td> <td> Average Score</td> </tr> <tr> <td class="style2" colspan="6" bgcolor="#CCCCCC"> 1. How would you rate the food served to you?</td> </tr> <tr> <td class="style2"> &nbsp; &nbsp;a.) Overall Quality Taste and Flavour.<br /> &nbsp; &nbsp;b.) Variety of Food.</td> <td> <asp:Label ID="lblResult0" runat="server" Text="Label"></asp:Label><br/> <asp:Label ID="lblResult3" runat="server" Text="Label"></asp:Label> </td> <td> <asp:Label ID="lblResult1" runat="server" Text="Label"></asp:Label><br/> <asp:Label ID="lblResult4" runat="server" Text="Label"></asp:Label> </td> <td class="style3"> <asp:Label ID="lblResult2" runat="server" Text="Label"></asp:Label><br/> <asp:Label ID="lblResult5" runat="server" Text="Label"></asp:Label> </td> <td> <asp:Label ID="aveNum0" runat="server" Text="Label"></asp:Label> <br/> <asp:Label ID="aveNum1" runat="server" Text="Label"></asp:Label> <br/> </td> <td> <asp:Label ID="aveScore0" runat="server" Text="Label" style="font-weight: 700"></asp:Label> <br /> <asp:Label ID="aveScore1" runat="server" Text="Label" style="font-weight: 700"></asp:Label> <br/> </td> </tr> </table> </asp:Panel> </div> <asp:GridView ID="gvSurveyResult" runat="server"> </asp:GridView> <asp:GridView ID="GridView1" runat="server"> </asp:GridView> </form> </body> 

这里也是site.aspx.cs代码

  Response.AppendHeader("content-disposition", "attachment;filename=ExportedHtml.xls"); Response.Charset = ""; Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.ContentType = "application/vnd.ms-excel"; this.EnableViewState = false; Response.Write(ExportDiv.InnerHtml); Response.End(); 

所有的答案都会受到欢迎!

我已经完成了服务器控制等已经有一段时间了,但这会做的伎俩?

http://harouny.com/2012/10/15/render-asp-net-controls-user-controls-to-html-by-code/

我build议你创build一个函数,将您的数据转换成逗号分隔值,然后呈现相同的CSV而不是Excel格式。 CSV和Excel格式的文件都将在Excel中打开相同的方式。