Impossible d'obtenir le contenu interne de '' parce que le contenu n'est pas littéral

Je suis en train de parcourir le contenu d'un Répéteur contenant un tableau html, et d'utiliser le contenu de chaque cellule. Cela fonctionne très bien pour du HTML standard des composants, mais explose lorsque j'essaie d'utiliser un contrôle. Le code ci-dessous affichera la valeur de la première cellule, "l'Élément n ° 1", mais va jeter un HttpException lorsque vous tentez d'accéder .InnerText de la deuxième cellule. L'erreur est la suivante:

Cannot get inner content of  because the contents are not literal.

J'ai essayé d'utiliser RenderControl via cette solution trouvé d'ailleurs, qui a échoué pour deux raisons: 1) elle a rendu l'intégralité du code HTML de la première cellule et 2) il soufflait toujours en place lorsque vous essayez d'accéder à la deuxième cellule, avec le message suivant:

'LinkButton1' of type 'LinkButton' must be placed inside 
 a form tag with runat=server

Est-il un moyen facile pour obtenir le LinkButton le texte, je suis après? Répéteur code et C# peut être trouvé ci-dessous.

La répétition de code:

<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>

Le 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);
        }
    }
}

source d'informationauteur cqx2234