.net Radgrid с кнопкой в ​​столбце только запускает команду элемента при втором нажатии - PullRequest
3 голосов
/ 19 марта 2012

У меня проблема с тем, что кнопка в Radgrid не срабатывает до второго раза.

У меня есть пользовательский контроль с Radgrid и кнопкой внутри одного из столбцов.Пользовательский контроль размещается на странице.

При нажатии кнопки на Radgrid ничего не происходит в первый раз, однако это работает во второй раз.

Это некоторые из данных столбца Radgrid

<telerik:GridTemplateColumn DataField="Quantity" HeaderText="Quantity" UniqueName="QuantityCol">
        <ItemTemplate>
            <asp:TextBox ID="Quantity" runat="server" Columns="4" Text='<%# DataBinder.Eval(Container.DataItem, "Quantity") %>' width="40px" />                
                 <asp:LinkButton id='btnUpdateRow' runat="server" CausesValidation="false" Text='<span>Update</span>' CommandName="ButtonUpdateRow"  CommandArgument='<%# DataBinder.Eval(Container, "RowIndex") %>'/>                 
        </ItemTemplate>
    </telerik:GridTemplateColumn>

Радгрид использует NeedDataSource для получения своих данных.Загрузка страницы ничего не делает.

Во время отладки внутри itemcreated / itemdatabound клиент linkbutton показывает

TestBasket_RadGrid1_ctl01_ctl04_btnUpdateRow

Однако при отображении в браузере он отображается как

<a id="TestBasket_RadGrid1_ctl01_ctl09_btnUpdateRow" href="javascript:__doPostBack('TestBasket$RadGrid1$ctl01$ctl09$btnUpdateRow','')">

Нажатие на кнопку - команда item НЕ запускается.При возврате из постбэка браузер показывает

<a id="TestBasket_RadGrid1_ctl01_ctl04_btnUpdateRow" href="javascript:__doPostBack('TestBasket$RadGrid1$ctl01$ctl04$btnUpdateRow','')">

Нажатие кнопки - команда item запускается.

Кто-нибудь объяснит, почему изменилась клиентура.Я попытался поместить заполнитель и создать элемент управления с идентификатором в itemcreated - все та же проблема.

Заранее спасибо за любую помощь.

1 Ответ

1 голос
/ 23 апреля 2012

Похоже, проблема произошла из-за наследования страниц. Я сделал простую страницу aspx, не используя нашу архитектуру, и она, кажется, работала нормально. Затем я купил код обратно, и он перестал работать. Мне удалось это исправить, изменив наследование страниц, использующих элементы управления Telerik.

...