Как мне ссылаться на идентификатор элемента управления в другой панели содержимого?

#asp.net

#asp.net

Вопрос:

У меня есть страница ASPX с несколькими панелями содержимого. На одной панели находится RadioButtonList. На другой панели находится источник данных, который имеет ControlParameter, который ссылается на RadioButtonList. Это работало нормально, когда список и источник данных находились на одной панели, но когда я переместил их на разные панели, ControlParameter больше не мог найти RadioButtonList.

Как мне изменить идентификатор, который ищет ControlParameter, чтобы он мог найти его на другой панели?

Ответ №1:

Я нашел ответ в другом месте:

Используйте идентификатор панели содержимого, знак доллара и идентификатор элемента управления.

Например, если ControlParmeter выглядел так, когда они были на одной панели:

 <asp:ControlParameter Name="tableName" Type="String"
     ControlID="rblCurrentEntityFriendlyName"
     PropertyName="SelectedValue"></asp:ControlParameter>
  

Тогда теперь это выглядело бы так, когда элемент управления был перемещен на панель с ContentPlaceHolderID, равным CPHEntityPanel :

 <asp:ControlParameter Name="tableName" Type="String"
         ControlID="CPHEntityPanel$rblCurrentEntityFriendlyName"
         PropertyName="SelectedValue"></asp:ControlParameter>
  

Я получил этот ответ от Адриана Джонсона, который получил его из «netneedsgiant, блог от 5 мая 2006».