Как я могу сделать общий колонтитул для моих репитеров? - PullRequest
1 голос
/ 01 марта 2011

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

И как я могу создавать событиядля моего репитера?Как кнопка в нижнем колонтитуле, которая вызывает событие Custom?Спасибо за ответы ..

Ответы [ 2 ]

1 голос
/ 01 марта 2011

Вы можете создать UserControl и поместить его в нижний колонтитул.

Для событий вам необходимо подключить нижний колонтитул к ItemCommand handler.

<asp:repeater runat='server' id='myRepeater' onItemCommand='rptMyRepeater_ItemCommand'>
    <ItemTemplate>
        <!-- markup and controls -->
    </ItemTemplate>
    <footerTemplate>
        <asp:Button runat='server' id='btnOrf' Text='Click Me' CommandName='SomeAction' CommandArgument='100' />
    </FooterTemplate>
</asp:repeater>

Затем в вашемВ коде вы определяете метод, который обрабатывает событие повторителя ItemCommand.Вам нужно проверить параметр ItemCommandEventArgs для получения подробной информации о кнопке / элементе управления, вызвавшем событие:

protected void rptMyRepeater_ItemCommand(object source, RepeaterCommandEventArgs e){
    if (e.CommandName == "SomeAction"){
        Response.Write ("The Command was " + e.CommandName + " and the value of the CommandArgument is: " + e.CommandArgument);

    }
}

Вы можете иметь столько кнопок, сколько вам нужно, и с разными Commandname s и CommandArgument s, например, «Добавить», «Сохранить», «Удалить», «Обновить» и т. Д.

Обычно вы связываете что-то вроде базы данных ID элемента данных (Пользователи / Продукты / что угодно) с CommandArgumentтак что вы знаете, как идентифицировать редактируемый / сохраненный / удаленный / любой другой объект.

<asp:Button runat='server' id='saveBtn' commandName='delete' CommandArgument='<%# Eval("UserId")%>' Text='Save' />

Полный пример здесь: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.repeater.itemcommand.aspx

MSDN всегда должен быть вашимпервая точка отсчета; -)

0 голосов
/ 01 марта 2011
  1. Я думаю, вам нужно создать СТОЛ структура с помощью заголовка, ItemTemplate и шаблоны нижнего колонтитула

    <HeaderTemplate>
        <table>
            <Tr>
                <Td>Header</Td>
            </Tr>
    </HeaderTemplate>
    <ItemTemplate>
        <Tr>
            <Td>Header</Td>
        </Tr>
    </ItemTemplate>
    <FooterTemplate>
            <Tr>
                <Td>Header</Td>
            </Tr>
        </Table>
    </FooterTemplate>
    
  2. Вам необходимо найти управление в нижнем колонтитуле и назначить события. Как это:

    void Repeater_OnItemDataBound(object source, DataGridItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Footer)
        {
            Button SelectAll = (Button)e.Item.FindControl("SelectAll");
        }
    }
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...