如何在ListView中隐藏或操作控件

时间:2013-11-06 10:37:50

标签: c# asp.net listview

我在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>

3 个答案:

答案 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;

这完全没问题:)谢谢大家的努力:))