我在「表格單元格」中插入了一個標籤(稱爲Label1),該表格單元又被插入到數據列表中。Label.property reference
爲什麼在這種情況下,我不能使用,例如,Label1.Text Page_Load方法裏面,但是當我將標籤插入外 DataList控件,以Label1的任何參考完美的作品?
是否有解決這個問題的方法,因爲我需要表格單元格中的標籤,並且還可以從代碼隱藏文件中修改其標題(.Text屬性),我計劃將其分配給存儲過程的值。 你好,非常感謝你提前。
我在「表格單元格」中插入了一個標籤(稱爲Label1),該表格單元又被插入到數據列表中。Label.property reference
爲什麼在這種情況下,我不能使用,例如,Label1.Text Page_Load方法裏面,但是當我將標籤插入外 DataList控件,以Label1的任何參考完美的作品?
是否有解決這個問題的方法,因爲我需要表格單元格中的標籤,並且還可以從代碼隱藏文件中修改其標題(.Text屬性),我計劃將其分配給存儲過程的值。 你好,非常感謝你提前。
如果一個控件位於數據列表中,那麼它將在列表中的每個項目中重複。因此,在數據專員之外引用控件是沒有意義的,因爲ASP.NET不知道要引用哪個實例 - 並且如果沒有數據,甚至不會有任何實例!
您可以訪問給定的數據列表中的項目的標籤,但是:
DataListItem item = dataList.Items[0]; // or whichever item you want
Label label1 = (Label)item.FindControl("Label1");
Label
控制爲每排DataList
具有創建,它的ID
是由每一個容器,它裏面前綴(因此它不再稱爲Label1) - 您需要處理OnItemCreated
或OnItemDataBound
事件,然後查找並將其轉換爲Label Label1 = (Label)e.Item.FindControl("Label1")
,然後才能訪問它。
很好的回答,pOcHa,謝謝,我一定會試試這個!對於相同的任務,瞭解幾種方法是很好的。 –
謝謝你,ekolis!我怎麼知道它是項目[0]還是項目[1]。等等?我可以通過視覺/圖形的方式看到每個datalist組件及其相關的排名,可以這麼說嗎?也許在設計視圖中?不幸的是在設計視圖中,我什麼都看不到。這是一箇舊的情況,它**不影響網站的功能,但我不能在視覺上處理控件,除了在創建時,不久之後它們消失。我不知道有什麼辦法可以恢復它們,我一直對此感興趣。 –
在設計視圖中,您應該可以通過右鍵上下文菜單中的選項進入模板模式。這會讓你看到控件,並且可以直觀地添加更多的控件(所以你不必在代碼中完成)。 – ekolis
至於項目[0]與項目[1],完全取決於綁定到數據專家的數據。項目[0]將是表示第一個綁定數據項目的項目,而項目[1]將是第二個項目等。 – ekolis