2013-05-08 5 views
0

Я использую .Net 4.5, привязку к модели и в настоящее время имеет ретранслятор, который содержит еще один повторитель.SelectMethod получить данные от родительского элемента управления

<asp:Repeater ID="rptADivisions" runat="server" ItemType="abc.Division" SelectMethod="rptADivisions_GetData"> 
    <ItemTemplate> 
     <div> 
      <%#: Item.DivisionName %> 
      <asp:Repeater ID="rptDOfficials" runat="server" ItemType="abc.DOfficial" SelectMethod="rptDOfficials_GetData"> 
       <ItemTemplate> 
        <blockquote> 
         <p><%#: Item.FullName %></p> 
         <small><%#: Item.Position %></small> 
        </blockquote> 
       </ItemTemplate> 
      </asp:Repeater> 
      <hr /> 
     </div> 
    </ItemTemplate> 
</asp:Repeater> 

Я могу заполнить 1-ретранслятор (rptADivisions), но как бы я получить второй один для работы? Мне нужно, чтобы второй получил доступ к Did, который содержится в верхнем ретрансляторе (rptADivisions) Item (abc.Divison). Я попытался установить SelectMethod для второго ретранслятора, как

public IEnumerable<abc.DOfficial> rptDOfficials_GetData([Control("rptADivisions")] string DidFilter) 

, но это не похоже на работу, DidFilter всегда устанавливается в нуль.

ответ

0

У меня нет VS под рукой, но ретранслятор, как и большинство элементов управления данными, должен иметь что-то вроде события DataBound или RowDataBound, которое вы можете подключить и иметь возможность выполнять некоторый код, когда строка привязана к его аналогу от источника данных ,

В случае, если у вас есть возможность написать код C# для доступа к ретранслятору (FindControl ("rptDOfficials")) и получить элемент, на который вы фактически привязываетесь. Имея эти два позволишь построить набор элементов и связать декларативно по телефону

.DataSource = your set of items 
.DataBind() 

По крайней мере, это то, как вы вложенное DataGrids, ListViews, я надеюсь, что это работает с ретранслятором тоже.

+0

Да, я знаю о событии RowDataBound, я пытался увидеть, как работает SelectMethod, играя с .Net 4.5 и хотел бы посмотреть, можно ли это сделать. – Paritosh

+1

SelectMethod предназначен для привязки к репитеру верхнего уровня. Я не думаю, что настройка этого для вложенного будет работать, по крайней мере, вам нужно вызвать DataBind вручную. –

Смежные вопросы