我试图遍历包含html表的Repeater的内容,并使用每个单元格的内容.这适用于标准的
HTML组件,但是当我尝试使用控件时会爆炸.下面的代码将打印第一个单元格“#1”的值,但在尝试访问第二个单元格的.InnerText时会抛出一个HttpException异常.错误如下:
Cannot get inner content of because the contents are not literal.
我试图使用RenderControl通过这个解决方案找到其他地方,失败了两个原因; 1)它渲染了第一个单元格的整个HTML,2)当尝试使用以下消息访问第二个单元格时,它仍然会被炸毁:
'LinkButton1' of type 'LinkButton' must be placed inside a form tag with runat=server
有没有一个简单的方法来获得我之后的LinkButton文本?中继器代码和C#可以在下面找到.
中继器代码:
<asp:Repeater ID="Rep1" runat="server"> <HeaderTemplate> <table id="Table1" class="data"> </HeaderTemplate> <ItemTemplate> <tr id="Row" runat="server"> <td>Item #1</td> <td><asp:LinkButton ID="LinkButton1" OnClick="DoSomething" Text="Item #2" runat="server" /></td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate>
C#:
foreach (RepeaterItem item in Rep1.Items) { HtmlTableRow row = item.Controls[0].FindControl("Row") as HtmlTableRow; foreach (HtmlTableCell cell in row.Cells) { if (cell.InnerText != string.Empty) { Console.WriteLine(cell.InnerText); } } }
解决方法
原文地址:https://www.jb51.cc/aspnet/250637.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。