我想遍歷包含html表格的Repeater的內容,並使用每個單元格的內容。這對於標準的HTML組件來說工作得很好,但是當我嘗試使用一個控件時會爆炸。下面的代碼將打印第一個單元格的值「Item#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);
}
}
}
你能解決這個問題嗎?我迫切需要一個答案,因爲我得到和你一樣的錯誤。我甚至嘗試過使用System.Windows.Forms控件來解決這個問題,但沒有喜悅。 – Fandango68 2015-05-11 07:09:20