Я создал 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
при нажатии кнопки в сетке?