2017-08-16 116 views
0

我想從用戶控件中訪問DropDownList選定的值,該值位於Repeater的ItemTemplate內。查找中繼器內用戶控制的下拉值asp.net

string ddlBeneficiaryTeam2 = ((UserControl_TeamFilter)(rptBeneficiaries.FindControl("ucBeneficiaryTeam"))).TeamSelectedValue; 
  • rptBeneficiaries -Repeater控制
  • ucBeneficiaryTeam - 用戶控制
  • ddlteam -DropDownList命名其在用戶控制。
+0

我需要訪問這個ddlTeam選擇的值,這裏是控制ID:ctl00_cphMain_rptBeneficiaries_ctl00_ucBeneficiaryTeam_ddlTeam – kumarjcet

回答

0

您可以使用FindControl通過上移控制樹來定位正確的控件。

DropDownList drp = Repeater1.Items[i].FindControl("WebUserControl1").FindControl("DropDownList1") as DropDownList; 

首先,由索引訪問正確的中繼器的項目,然後由用戶控制,然後控制內部DropDownList的的ID。

0

第一分這兩個部分
1,首先在你的用戶控件創建公共財產代表您下拉的價值

public class UserControl_TeamFilter : System.Web.UI.UserControl 
{ 
    .... 
    public string TeamSelectedValue 
    { 
     get { return ddlteam.SelectedValue; } 
    } 
    ... 

2,現在你只需要找到和投您的用戶控制如下中繼器項目

(rptBeneficiaries.Items[i].FindControl("ucBeneficiaryTeam") as UserControl_TeamFilter).TeamSelectedValue