我试图让asp:literal工作,但显然我做错了,因为我得到了
对象引用未设置为实例 对象
错误
这是我的代码:
在ascx页面中:
<span class="span1">
<asp:Literal ID="litFile" runat="server"></asp:Literal>
<strong><asp:Literal ID="litFile2" runat="server"></asp:Literal></strong>
</span>
和
protected void _ItemBound(object sender, RepeaterItemEventArgs e)
{
((Literal)e.Item.FindControl("litFile")).Text = "a";
}
请问好吗?
C
答案 0 :(得分:1)
我们需要更多的代码才能确定,但对我而言,文字实际上是在触发_ItemBound
方法的转发器之外。否则,e.Item.FindControl
应该能够找到它。确保litFile
位于转发器控件中的ItemTemplate
内,而不是页面中的其他位置。
答案 1 :(得分:0)
您不需要投射它,也不需要搜索它。
尝试:
litFile.Text = "a";
如果这不起作用,我们需要查看更多代码以了解正在发生的事情。
答案 2 :(得分:0)
由于你使用FindControl,我假设你在转发器或其他东西,所以试试这个
Literal litFile = repeaterName.FindControl("litFile");
litFile.text = "a";
我在VB中编码很抱歉,如果我的语法已关闭。