ASP.NET中控件Visible属性

本文探讨了ASP.NET中的Visible属性与CSS中的Visibility及Display属性之间的差异。Visible=false将控件从客户端HTML中移除,而Visibility和Display则仅改变其可见性而不移除标记。此外还介绍了何时使用这些属性更合适。

ASP.NET中Visible等同于Css中Visibility属性,二者显示效果都一样;但是还是有区别的;

ASP.NET中Visible="false"在呈现成HTML标记语言时ASP.NET会去掉此标记语言,换句话说你用JS是取不到这个标记类容的,它被序列化后放入隐藏的VIEWSTATE中,不输出到客户端,只有服务器通过反序列化后才能调用到。

而CSS中style="visibility:hidden;"和js中的control.style.visibility="hidde";它只是把当前控检的标记标识为不显示,表示不显示出来。但在页面呈现的HTML标记语言中是存在着的,换句话说就是用JS取查找这个控检是可以查找到的。

所以我们在使用服务器控件并不显示它并且需要用JS对这个控件行为时用visibility,否则客户端取不到该控件;正确的是设置Css样式。

比如:

Button1.Style.Add(HtmlTextWriterStyle.Visibility, "hidden");

而不要用服务器控件本身的Visible="false"属性。

 

另外,CSS 中:

visibility:hidden 表示不显示,但占据网页的空间。
display:none 表示不显示,也不占据网页的空间。

所以我们如果想隐藏一个控件,而又不想让他占网页空间,使用display:none;

在 VB.NET 中可以用变量来表示控。通过使用变量代替控名,能够简化对多个同种类型控的操作。例如在处理多个具有相同功能的控时,若按照常规设计方法,每个控都要编写对应的事函数,会使程序设计变得繁琐。而通过将控赋值给变量,就可以统一处理这些控,减少代码量。 以下是几种用变量表示控的示例代码: - **以变量形式遍历禁用文本框控** ```vbnet Dim myTb As TextBox Dim i As Integer For i = 1 To 100 myTb = Me.Controls("textbox" & i) myTb.Enabled = False Next ``` 此代码将 `textbox1` 到 `textbox100` 这些文本框控依次赋值给变量 `myTb`,并将其禁用[^3]。 - **使用数组变量操作标签控** ```vbnet Dim lbl() As Label = { Label1, Label2, Label3 } Dim number As Integer = 1 lbl(number).Text = "xxxx" ``` 这里将 `Label1`、`Label2`、`Label3` 等标签控存储在数组变量 `lbl` 中,通过索引 `number` 选择相应的标签控并修改其文本内容[^3]。 - **通过变量名替换控名隐藏文本框** ```vbnet Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click TextControl(2) End Sub Private Sub TextControl(ByVal Index As Integer) Try Dim TmpControl As TextBox TmpControl = Me.Controls("TextBox" & Index) TmpControl.Visible = False Catch ex As Exception End Try End Sub End Class ``` 该代码在按钮点击事中调用 `TextControl` 方法,将 `TextBox2` 控赋值给变量 `TmpControl`,并将其隐藏[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值