簡體   English   中英

在轉發器中調用用戶控件的方法?

[英]Calling a method for a user control in a repeater?

我有一個用戶控件,當一個方法被調用時,它會動態地將圖像添加到ASP面板中。 我已將此控件放在中繼器中。 我正在使用以下代碼來調用該函數。 我試過在page_load,轉發器的數據綁定,項目的數據綁定和oninit上調用此函數。

foreach (RepeaterItem repit in rpter.Items)
        {
            MyUserControl uc = rpter.FindControl("mycontrol") as MyUserControl;
            uc.MyMethod("var1","var2");
        }

用戶控件上的方法被調用,但是在頁面或頁面的源視圖中沒有圖像。 我要去哪里錯了?

我很難理解您要執行的操作,因此此答案可能無法實現。 您可以處理轉發器的ItemDataBound事件,在當前項目中找到用戶控件,然后直接在用戶控件上調用該方法嗎?

用戶是否為每個轉發器項目都控制相同的類型? 如果是這樣,則可以將用戶控件轉換為其類型而不是UserControl,並直接調用該方法,而不是獲取MethodInfo並調用它:

UserControl uc = repit.FindControl("ucontrol") as MyUserControl;
if (uc != null)
{
    uc.MyMethod("var1", "var2", "var3", "var4");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM