Почему мой CommandArgument Пуст?

Не используйте односимвольные переменные для индексов цикла. Например:

for (int ii = 0 ; ii < someValue ; ii++)
    // loop body

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

6
задан kevindaub 5 September 2009 в 02:05
поделиться

3 ответа

Вы не можете использовать синтаксис <% =%> внутри свойств в теге с атрибутом runat = "server" . Я удивлен, что код даже запустится. :)

ОБНОВЛЕНИЕ:

Вы, вероятно, захотите использовать событие ItemDataBound на ретрансляторе, найти кнопку ссылки и установить свойство CommandArgument.

Не очень элегантно, но вот пример VB.NET.

Private Sub Repeater1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles Repeater1.ItemDataBound
    Select Case e.Item.ItemType
      Case ListItemType.Item, ListItemType.AlternatingItem
        Dim b As LinkButton = e.Item.FindControl("btn")
        b.CommandArgument = e.Item.ItemIndex
        b.DataBind()
    End Select
  End Sub
8
ответ дан 16 December 2019 в 21:44
поделиться

Вы не устанавливаете его

Возможно, вы хотите

<%# Container.DataItemIndex %>

или

<%= Container.DataItemIndex %>

:)

0
ответ дан 16 December 2019 в 21:44
поделиться

Попробуйте

<asp:LinkButton Text="Save IT" OnCommand="SaveIt" CommandArgument="<%# Container.DataItemIndex %>" runat="server" />

У вас отсутствовал знак "#".

0
ответ дан 16 December 2019 в 21:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: