我在textbox
内有一个button
控件和一个listview
控件,我想在隐藏代码时隐藏这些控件,我尝试过使用类似的东西
ListViewName.FindControl("TextBoxComment").Visible = false;
和
((TextBox)ListViewName.FindControl("TextBoxComment")).Visible = false
但是当我运行代码时,它会NullReference Exception
请帮忙。
<ItemTemplate>
<table>
<tr>
<td>
<asp:TextBox ID="TextBoxComment" runat="server" >
</asp:TextBox>
</td>
<td>
<asp:Button ID="ButtonSubmit" runat="server"
CommandName="Comment"
CommandArgument='<%# Eval("FlowPostID") %>'/>
</td>
</tr>
</table>
</ItemTemplate>
答案 0 :(得分:1)
您需要在ListView的ItemDataBound事件句柄上执行此操作。
var item = (ListViewItem)e.DataItem;
var txtBox = (txtBox)item.FindControl("TextBoxComment");
if(txtBox != null)
{
txtBox.Visible = false;
}
等等......
答案 1 :(得分:0)
您需要检查空值
var textbox=ListViewName.FindControl("TextBoxComment");
if(textbox!=null)
ListViewName.FindControl("TextBoxComment").Visible = false;
答案 2 :(得分:0)
我这样做了,它起作用了
TextBox Box = new TextBox()
Button Butt = new Button();
Box = (TextBox)e.Item.FindControl("TextBoxComment")
Butt = (Button)e.Item.FindControl("ButtonSubmit")
Box.Visible = false;
这完全没问题:)谢谢大家的努力:))