получить событие на стороне сервера для щелчка изображения внутри элемента управления Telerik: RadGrid - PullRequest
0 голосов
/ 25 января 2012

Я новичок в элементах управления Rad ..

У меня есть изображение внутри столбца RadGrid..При щелчке по этому изображению я хочу обновить другой AjaxPanel..но я не могу найтисобытие, в котором я могу это сделать ..

Я пытался вот так ..

...
    <telerik:GridTemplateColumn>
        <ItemTemplate>
            <asp:ImageButton ID="ImgEdit" runat="server" 
                             ImageUrl="Images/edit.png" 
                             OnClick="EditImage_Click" />
        </ItemTemplate>
    </telerik:GridTemplateColumn>
...
....
    <AjaxSettings>
        <telerik:AjaxSetting AjaxControlID="ImgEdit">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="RadAjaxPanel1" />
            </UpdatedControls>
        </telerik:AjaxSetting>
....

и

    protected void EditImage_Click(object sender, EventArgs e)
    {

    }

Я также попробовал приведенный ниже код в Page_Load ..

((ImageButton)(RadGrid1.FindControl("ImgEdit"))).Click += 
                               new ImageClickEventHandler(EditImage_Click);

но, похоже, ничего не работает ..

Пожалуйста, ПОМОГИТЕ ...

Ответы [ 2 ]

1 голос
/ 25 января 2012

вы пропустили свойство CommandName, ItemCommand будет происходить только в том случае, если «Кнопки в элементе управления GridView также могут вызывать некоторые встроенные функции элемента управления. Чтобы выполнить одну из этих операций, установите свойство CommandName кнопки» *

<telerik:GridTemplateColumn UniqueName="TempCol" >  
                         <ItemTemplate>  
                             <asp:ImageButton ID="ImageButton1" runat="server" CommandName="DoEdit" />  
                         </ItemTemplate>  
                        </telerik:GridTemplateColumn>

Обработчик событий

protected void RadGrid1_ItemCommand(object source, GridCommandEventArgs e) 
        { 
            if (e.CommandName == "DoEdit") 
            { 
                //dosomething

            } 

        } 
1 голос
/ 25 января 2012

Не вызывайте EditImage_Click событие кнопки изображения, вы можете дать имя этой команде кнопки и вызвать grid row command event и использовать это событие команды строки вместо EditImage_Click событие

...