Динамическое назначение свойства в пользовательском контроле в элементе управления повторителя ASP.NET - PullRequest
6 голосов
/ 13 декабря 2010

В настоящее время у меня есть элемент управления повторителем, а внутри элемента шаблона у меня есть пользовательский элемент управления.Этот пользовательский элемент управления отображается правильно, но я пытаюсь присвоить элемент данных свойству элемента управления повторителя.

 <asp:Repeater ID="Repeater1" DataSourceID="EntityDataSource" runat="server">
    <ItemTemplate>
    <uc1:Request ID="Request1" runat="server" RequestId='<%# Eval("RequestId") %>' />
</ItemTemplate>

RequestId - это просто Int32.Он просто не присваивает его.

Я могу поместить eval вне usercontrol только в элементе itemtemplate, и он правильно выводит правильный идентификатор.

Если я удаляю весь eval и просто набираюзатем число работает нормально.

Любая помощь приветствуется.

[ОБНОВЛЕНИЕ]: Проблема решена

Я использовал EntityDataSource, и это автоматически связывалось с ретранслятором.Он распечатал всю информацию из базы данных на экране без какого-либо кода позади.Но когда я вставляю код позади Repeater1.DataBind ();затем он начал работать.

Не знаю почему, но эй, это решено.Теперь он успешно передает значение.Я полагаю, это как-то связано с жизненным циклом страницы.

Ответы [ 3 ]

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

Если вы просто связываете с коллекцией репитеров int, вам нужно использовать это:

<uc1:Request ID="Request1" runat="server" RequestId='<%# Container.DataItem %>' />

И не забудьте вызвать DataBind () для ретранслятора или для Page, где есть элемент управления ретранслятором.

2 голосов
/ 13 декабря 2010

Вам не хватает ' в конце?

изменить следующее:

RequestId='<%# Eval("RequestId") %> />

до

RequestId='<%# Eval("RequestId") %>' />
0 голосов
/ 13 декабря 2010

Это можно реализовать с помощью события ItemDataBound элемента управления Repeater, чтобы можно было установить динамическое свойство для элемента управления.

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