国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

遍歷ASP.NET頁面控件

2024-07-10 12:57:32
字體:
來源:轉載
供稿:網友
“如何遍歷asp.net頁面所有的控件呢?“,這是在社區發問的問題中最普遍的問題之一。通常我們對這個問題的回答為:”使用page類的controls 屬性來實現”!這個controls 屬性可以使我們獲取一個控件的所有子控件,但是如果其中的一個子控件同樣擁有自己的子控件,僅僅使用這個屬性便很難獲取asp.net頁面所有的控件。所以,要根本解決這個問題,我們需要書寫一些額外的方法以獲取頁面中的所有控件。

假設頁面中有若干個textbox ,我們想遍歷整個頁面,然后獲取所有textbox的name和value ,并將它們顯示在datagrid中。

在我們開始遍歷頁面之前,需要建立一個類,用于存放那些textbox的name和value ,代碼如下:

public class utilityobj

private _name as string

private _value as string

public sub new(byval name as string, byval value as string)

_name = name

_value = value

end sub

public property name() as string

get

return _name

end get

set(byval value as string)

_name = name

end set

end property

public property value() as string

get

return (_value)

end get

set(byval value as string)

_value = value

end set

end property

end class



這個類包含兩個屬性:"name" 和 "value",再定義一個公有的arraylist(oarraylist),用于存儲數據。如圖:






要實現遍歷asp.net頁面所有的控件,我們還需要定義一個主要的方法。這個方法接收一個control類型的參數,如果這個參數為textbox,則存儲它的 name 和 value。

代碼如下:

public sub loopingcontrols(byval ocontrol as control)

dim frmctrl as control

oarraylist = new arraylist

for each frmctrl in ocontrol.controls

if typeof frmctrl is textbox then

oarraylist.add(new utilityobj(frmctrl.id, directcast(frmctrl, textbox).text))

end if

if frmctrl.hascontrols then

loopingcontrols(frmctrl)

end if

next

end sub



我們可以使用這個方法來實現遍歷asp.net頁面所有的控件
loopingcontrols(page)

datagrid1.datasource = oarraylist

datagrid1.databind()




發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中西区| 通河县| 肇州县| 安达市| 黑山县| 临沭县| 南开区| 武乡县| 文化| 田阳县| 黄平县| 慈溪市| 会同县| 永济市| 襄城县| 石林| 荥经县| 翁牛特旗| 鹿邑县| 含山县| 金阳县| 普洱| 北京市| 新巴尔虎右旗| 福安市| 项城市| 仁寿县| 招远市| 嘉义市| 崇信县| 曲麻莱县| 陈巴尔虎旗| 玉门市| 防城港市| 洪雅县| 九寨沟县| 无极县| 河间市| 依安县| 察哈| 洛扎县|