有一个用户控件,里面有2个textbox,有一个的visible为true,另一个是false。结果到了页面显示出来的时候  visible为false的那个textbox并没有解析成html为什么会这样呢?另外,我的textbox是要保存value用的,(用hiddenfield也不解析成html),应该用什么方法解决呢?谢谢

解决方案 »

  1.   

    设置为visible=false,仍然是可以保存ViewState的,不会丢失。
      

  2.   

    不是啊,如果我有一个hiddenfield(不再用户控件里面的话) 那么最终会解析成 input type="hidden"的啊
      

  3.   

    还有label也是,如果不在用户控件里面,我把它设成visible =false的话 他还是在的啊
      

  4.   

    那就用   控件.Style.Add(HtmlTextWriterStyle.Display, "none");试试
      

  5.   

    想要弄明白就去查查.net中Visable属性是如何编译的。
      

  6.   

    啊,原来是我弄错了 visable = false的的确不显示
    可是 HiddenField的问题我觉得还是很奇怪就是我在普通页面里面放一个 HiddenField 那么他会变成  <input type="hidden" name="HiddenFieldTest" id="HiddenFieldTest" />
    但是如果我把这个HiddenField放到用户控件里面,再把这个用户控件放到页面,那么这个HiddenField就不见了,为什么呢?
      

  7.   

    HiddenField本来就是个控件。。TEXTBOX  你把它的visable属性设置成false 当然这样。。
      

  8.   

    <asp:TextBox id="txt" runat="server" Height="1px" Width="1px"></asp:TextBox>
      

  9.   

    visible和display的区别。
    如果你想把它隐藏,而且还要使用它,就用style="display:none"来隐藏。