我希望我可以訪問ASP.Net頁面(HTML元素)的所有元素並操縱其文本屬性/值。我怎麼能這樣做?ASP.Net - 循環當前頁面中的所有HTML組件
我一直在檢查,屬性this.Page.Form.Controls顯然獲取所有元素,但我只會頁面元素,捕捉事件。有人有什麼主意嗎。
我會舉一個我正在學習的代碼示例,並根據我的需要嘗試adalter。
感謝
string x = String.Empty;
string y = String.Empty;
foreach (Control ctrl in this.Page.Form.Controls){
if (ctrl is TextBox){
x += ((TextBox)(ctrl)).ID + ((TextBox)(ctrl)).Parent + "\n";
} else {
y += ctrl.GetType().Name + ctrl.GetType().Namespace + "\n";
}
}
實驗值:我使用的是Telerik的組件的一些部件。
我不認爲你想要達到什麼從你的問題是明顯的。你談論的是過濾出引發事件的元素* - 什麼事件?你也可以說你想要這樣做來操作Text屬性,但是你的代碼似乎並不涉及任何這些。另外,注意:'Form.Controls'不會遞歸地給你一個頁面的所有元素,也就是說,如果有一個擁有'.Controls'的PlaceHolder,'Form.Controls'只會產生PlaceHolder。 – 2010-07-12 18:38:23
在上面的例子中,我只是想讀取組件的ID,以便找到完美的代碼來獲得我想要的東西。簡而言之,我搜索表單的所有對象。當我得到它,並以某種方式瞭解每個元素的類型時,我可以修改編程來處理每個元素。謝謝 – 2010-07-12 18:42:31
我仍然不認爲問題是清楚的。如果你想要做的就是找到表單中的所有控件,那麼你想要的是多少「this.Page.Form.Controls」(不管我之前提到的遞歸問題,因爲這似乎不是一箇中心問題你的關注)?如果你想*以某種方式瞭解每種類型的*,那麼這就是你在你的例子中所做的事情,通過用於測試類型的「TextBox」或用於測試類型的「GetType()」來簡單地檢索鍵入... – 2010-07-12 18:47:27