2017-08-16 51 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