我想什麼:添加ASP控件以編程方式添加的內容
在理想的情況下,我將能夠創建具有oncommand
和commandargument
屬性的錨,但如果我沒有記錯,不工作,你必須創建一個控件,比如一個按鈕,它可以工作。然後我的問題來自於希望將該按鈕放置在頁面上的每個項目上,因爲我需要一些東西來添加控件,但是如果我創建了一個帶有runat="server"
和id="try"
的錨點,我不能這麼做:try.Controls.Add(button)
因爲'try'的錨點實際上還沒有創建。
背景:
大多數內容都以編程方式添加。一個stringbuilder被用來創建一個html頁面顯示的字符串。是否可以添加一個控件到頁面中間的這個字符串?或成爲一個以這種方式編程添加的元素?
我曾嘗試:
創建錨(或其它方式)和定位這些元件的id
然後創建一個按鈕如下,但是,因爲該元素被編程方式添加並會有所不同,在id
所需的數則s會try0,try1等:
var button = new Button {
CommandArgument = "test",
Text = "Try"
};
button.Command += bt_sendMail_tryDevice_Click;
try.Controls.Add(button);
所以我嘗試以下,凡在我的aspx頁面我與id="try"
這樣一個「虛擬」元素,它不抱怨的變化,但我明白爲什麼它不喜歡它,同時雖然我不知道如何解決它。 (tryCount是一個隨着每次迭代而增加以保持id唯一的int)。
this.FindControl(try.ToString() + tryCount.ToString()).Controls.Add(button);
'ASP:PlaceHolder'是專爲這種使用情況。在控件添加到它之前不會呈現(通常以編程方式)。 –
但我無法以編程方式添加佔位符嗎?我目前在一個固定的位置使用了一個佔位符,但在這裏我需要另一個佔位符,用於頁面上的每一行。 – dudledok
你是指「頁面上的每一行」是什麼意思?你有網格視圖嗎?中繼?你可以添加一個'LinkButton'到項目模板嗎? – Jay