所以在我的asp.net应用程序中,我有一个转发器,但是在我的代码后面找不到转发器内的任何对象。这是一个例子:
标记
<asp:Repeater ID="repeater_id" runat="server"
DataSourceID="ExampleSource">
<HeaderTemplate>
<table id="table_id">
<thead>
<tr>
<th>Example</th>
</tr>
</thead>
<tbody>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label runat="server" ID="MyLabel" />
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</tbody>
</table>
</FooterTemplate>
</asp:Repeater>
在我的页面加载中,我正在尝试添加这样的属性:
C#
protected void Page_Load(object sender, EventArgs e)
{
MyLabel.Attributes.Add("Example","Example");
}
但是,在我的aspx.cs页面中,“MyLabel”被突出显示为构建错误,其描述为“当前上下文中不存在名称'MyLabel'。”有人知道那可能是什么吗? 如果MyLabel在转发器之前或之后,它可以正常工作。
有人知道我的问题是什么吗?请尽可能清楚地解释,我是编码的新手。
编辑:在问题中错误输入我的编码。现在修好了。
答案 0 :(得分:1)
您需要遍历repeater_id.Items
并找到如下标签
foreach (RepeaterItem ri in repeater_id.Items)
{
Label MyLabel = (Label)ri.FindControl("MyLabel");
MyLabel.Attributes.Add("Example","Example");
}