訪問的RepeaterItem控件我有一個在它的中繼器的頁面。我正在編寫一個事件處理程序,以便當用戶單擊我的WebControl按鈕時,所述按鈕的事件處理程序使用FindControl遍歷中繼器中的項目,然後使用一些控件的值。看來雖然,在頁面加載後,中繼器填入商品信息,但點擊按鈕時發佈這一回,因爲我通過中繼項目重複,我看到的是他們都是空的。我不完全瞭解排序,但我假設這是因爲我的迭代代碼試圖訪問尚未設置的RepeaterItems。在事件處理程序
中繼器的代碼是在我的OnLoad方法。除此之外,我有我的事件處理程序試圖在點擊後遍歷這些項目。這基本上是我試圖做的:
protected void MyButton_Click(object sender, EventArgs e)
{
foreach(RepeaterItem item in MyRepeater.Items)
{
MyLabel = (Label)item.FindControl("MyLabel");
}
}
該按鈕位於中繼器的FooterTemplate中。
<asp:Button runat="server" OnClick="SubmitChecklist_Click" cssclass="BlueSubmit" id="SubmitChecklist" text="Submit" />
在此先感謝。
編輯:爲了澄清,我得到確切的錯誤是NullReferenceException異常,當我嘗試做一些事情,例如回覆於(MyLabel.Text)
編輯:尋找到更後的今天,這就是我所理解的情況:轉發器是回發的數據綁定。當我從生成的下拉列表中選擇並點擊我的按鈕時,它會再次發佈。此時,中繼器再次將數據綁定到初始值。所以,如果我必須爲了得到用戶的選擇回傳,我怎麼能去這個按鈕的事件處理程序,這樣我可以得到中繼器之前選定的值被再次數據綁定?
你在哪裏接線你的事件處理程序?您發佈的代碼應該沒問題 - 這是沒有設置的項目的問題。 – 2009-05-29 21:24:48
你能從對象發件人那裏得到任何信息嗎? – jrcs3 2009-05-29 21:27:45
我能夠Response.Write發件人的哈希碼,所以我假設如此。 – 2009-05-29 21:31:46