我试图隐藏转发器内的标签.
<td>
<div>
<asp:Repeater ID="rpt1" runat="server"
OnItemDataBound="rpt1_ItemDataBound">
<HeaderTemplate>
<table>
<tr>
<td>
<div>
<label id="lbl1" runat="server">
<b>Project</b>
</label>
</div>
</td>
</tr>
</table>
</HeaderTemplate>
</asp:Repeater>
</div>
</td>
Run Code Online (Sandbox Code Playgroud)
我想动态隐藏Label lbl1.
protected void rpt1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Header)
{
//IT COMES HERE
Label label = e.Item.FindControl("lbl1") as Label;
label.Visible = false;
// ERROR: OBJECT REFERENCE NOT SET TO AN INSTANCE OF AN OBJ
}
}
Run Code Online (Sandbox Code Playgroud)
在这里,当我尝试调试代码时,它进入循环内部,但是我没有将对象引用设置为对象错误的实例.
UPDATE
如果我试试,
HtmlGenericControl label = e.Item.FindControl("lbl1") as HtmlGenericControl;
label.Visible = false;
Run Code Online (Sandbox Code Playgroud)
有用
将您的标签转换为asp:带有runat ="server"的标签
<asp:label id="lbl1" runat="server">
Run Code Online (Sandbox Code Playgroud)
或者在编写时保留它并添加runat ="server"并在您的代码中
HtmlGenericControl label = e.Item.FindControl("lbl1") as HtmlGenericControl;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
81 次 |
| 最近记录: |