/ / Sharepoint Toolpart Event Not Dising - sharepoint, eventos, elementos web, toolpart

Sharepoint Toolpart Event Not Firing - sharepoint, eventos, elementos web, toolpart

He creado un Sharepoint WebPart y tengodado un ToolPart personalizado que incluye un Grid (un Telerik RadGrid, para ser exactos, aunque eso es bastante irrelevante). Completé la cuadrícula y creé un objeto GridButtonColumn para agregar a la cuadrícula:

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);
}

La cuadrícula se representa correctamente, llena de datos y con el botón Eliminar presente.

Ahora, cuando hago clic en cualquiera de los botones de eliminar, el Grid_DeleteCommand() El evento no se activa. Sin embargo, cuando agrego un botón aleatorio fuera de la cuadrícula, se activa el evento de clic:

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

No puedo depurar esta instalación deSharepoint (o tal vez puedo, pero adjuntarme al proceso no me ha permitido hacerlo aún), por lo que el método de ambos eventos es simplemente una redirección a Google. Así es como verifico si los eventos se disparan:

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

La única diferencia que puedo ver entre los dos es que, con el botón "Eliminar", está anidado dentro de un control Grid, mientras que con el botón "Hola Mundo", no hay anidamiento.

¿Cómo podría tener el Grid_DeleteCommand disparar cuando hago clic en el botón en la cuadrícula?

Respuestas

1 para la respuesta № 1

Usando el control de Telerik Grid, debe especificar el botón "s CommandName en tu código

Agregar esta línea debería resolver el problema:

c.CommandName = "Delete";