Передача значения в пользовательский контроль через цикл foreach - PullRequest
1 голос
/ 21 декабря 2010

в моей asp.net разметке У меня есть цикл foreach, который перебирает простой список.В этом цикле foreach я добавляю новый пользовательский элемент управления и пытаюсь передать значение из цикла.Однако, это значение просто не сдвинулось с места и проникло в этот чертов контроль!У кого-нибудь есть какие-либо предложения?

<%foreach (userInfo i in this.items)
    { %>  
        <uc1:ItemControl ID="ItemControl" runat="server" UserID='<%#Eval("userID") %>'/>
<%} %>

userID - это открытое свойство в элементе управления, когда оно переходит к установке, значение просто буквально: <% # Eval ("userID")%>.Я пробовал #Bind и = Value, но, похоже, ничего не работает.

Любая помощь будет оценена!

Ответы [ 2 ]

4 голосов
/ 21 декабря 2010

Выглядит как идеальный вариант использования ретранслятора :

<asp:Repeater runat="server" id="myRepeater">
   <uc1:ItemControl ID="ItemControl" runat="server" />
</asp:Repeater>

Вы можете привязать свой список (this.items) к ретранслятору и коду, указанному вСобытие 1007 * устанавливает свойство UserID элемента управления ItemControl.

Причина, по которой ваш подход не сработает, заключается в том, что идентификаторы должны быть уникальными на странице.

3 голосов
/ 21 декабря 2010

Попробуйте использовать регулятор Repeater для своих целей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...