Событие Sharepoint Toolpart не стреляет - PullRequest
1 голос
/ 08 февраля 2012

Я создал Sharepoint WebPart, и я дал ему пользовательскую ToolPart, которая включает в себя Grid (Telerik RadGrid, если быть точным, хотя это довольно неактуально).Я заполнил сетку и создал объект GridButtonColumn для добавления в сетку:

protected override void CreateChildControls()
{
            GridButtonColumn c = new GridButtonColumn();
            c.ConfirmText = "Really Delete?";
            c.ConfirmDialogType = GridConfirmDialogType.RadWindow;
            c.ConfirmTitle = "Delete";
            c.ButtonType = GridButtonColumnType.LinkButton;
            c.Text = "Delete";
            c.UniqueName = "DeleteColumn";
            grid.Columns.Add(c);
    // ...

    grid.DeleteCommand += new GridCommandEventHandler(Grid_DeleteCommand);
}

Сетка отрисовывается правильно - заполняется данными и присутствует кнопка удаления.

Теперь, когдаЯ нажимаю любую кнопку удаления, событие Grid_DeleteCommand() не запускается.Однако, когда я добавляю случайную кнопку за пределы сетки, срабатывает событие нажатия:

Button b = new Button();
    b.Text = "Hello World";
    b.Click += new EventHandler(Button_Click);

Я не могу отладить эту установку Sharepoint (или, возможно, могу, но присоединяюсь кпроцесс еще не позволил мне сделать это), поэтому метод обоих этих событий - просто перенаправление в Google.Вот как я проверяю, запускаются ли события:

    string AbsoluteUri ="http://www.google.com";
    Page.Response.Redirect(AbsoluteUri);

Единственное различие, которое я вижу между ними, заключается в том, что с помощью кнопки «Удалить» он вложен в элемент управления Grid, тогда какс помощью кнопки «Hello World» нет вложенности.

Как я могу иметь огонь Grid_DeleteCommand при нажатии кнопки в сетке?

1 Ответ

1 голос
/ 08 февраля 2012

Используя элемент управления Telerik Grid, вы должны указать кнопку CommandName в своем коде.

Добавление этой строки должно решить проблему:

c.CommandName = "Delete";
...