[英]Control 'ctl00_txtDebug' of type 'TextBox' must be placed inside a form tag with runat=server
[英]Control 'DataLoading1_gdvDataGroups_ctl01_ctl00' of type 'DataControlLinkButton' must be placed inside a form tag with runat=server
我正在尝试将ASP.NET gridView控件的内容导出到Excel电子表格。 为此,我一直在使用此页上的代码。
当它到达RederControl(hw)行时,尽管我的代码崩溃了。 我收到如下错误:
GridView must be placed inside a form tag with runat=“server” even after the GridView is within a form tag
为了解决这个问题,我找到了这个答案 。 但是主要答案不起作用,我认为这是因为我的代码在.ascx用户控件中。 考虑到这一点,我尝试了第二高评价答案的解决方案。
这次我得到了与DataControlLinkButtons有关的错误,类似于此问题的标题。
我的gridview在一列的单元格中包含超链接。 我尝试在使用以下代码进行渲染之前将其从其父控件中删除(按照该页面上的第二个答案)
List<int> gridIndexes=new List<int>();
for (int i = 1; i < gdvDataGroups.Controls[0].Controls.Count-1; i++)
{
gridIndexes.Add(gdvDataGroups.Controls.IndexOf(gdvDataGroups.Controls[0].Controls[i].Controls[8].Controls[1]));
gdvDataGroups.Controls.Remove(gdvDataGroups.Controls[0].Controls[i].Controls[8].Controls[1]);
}
但这对我不起作用,并且我遇到了同样的错误。
关于如何解决这个问题的任何想法?
gridView如下(仅包含相关的第9列):
<asp:GridView ID="gdvDataFiles" SkinID="MediumSpace" runat="server" AutoGenerateColumns="False"
ShowHeader="true" Width="100%" OnPageIndexChanging="gdvDataFiles_PageIndexChanging"
AllowPaging="True" PageSize="20">
<Columns>
<asp:TemplateField HeaderText="Details" ItemStyle-Width="80px" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" Text='<%# Eval("RequestPKID") == null ? "Not available" : "View" %>'
NavigateUrl='<%# Eval("RequestPKID") == null ? "" : Eval("RequestPkid", "../Pages/BOLoadDetails.aspx?fileid={0}") %>'
Style="padding-top: 4px; display: block" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
No data file loads found
</EmptyDataTemplate>
</asp:GridView>
确定,结果是我需要在呈现电子表格之前禁用网格上的排序。 我认为是导致问题的排序控制按钮。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.