.net带有按钮的Radgrid仅在第二次单击时触发itemcommand

时间:2012-03-19 12:40:58

标签: c# .net telerik radgrid

我遇到一个问题,即radgrid中的按钮直到第二次才会触发。

我有一个带有radgrid的usercontrol和一个列中的按钮。 用户控件放在页面上。

当点击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>

radgrid使用NeedDataSource来获取其数据。 页面加载不起作用。

在itemcreated / itemdatabound中调试期间,linkbutton clientid显示

TestBasket_RadGrid1_ctl01_ctl04_btnUpdateRow

但是,当呈现给浏览器时,它显示为

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

未触发按钮 - itemcommand。 从回发返回时,浏览器显示

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

点击按钮 - 项目命令。

任何人都可以解释为什么clientid会发生变化。 我尝试过放置一个占位符并在itemcreated中创建一个带有id的控件 - 仍然是同样的问题。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

由于页面继承,看起来问题已经发生了。 我做了一个简单的aspx页面,没有使用我们的任何架构,它似乎工作正常。 然后我重新购买了代码,它停止了工作。 我已经设法通过更改使用Telerik控件的页面的页面继承来修复它。