【问题标题】:.net Radgrid with button in column only fires itemcommand on 2nd click.net Radgrid 列中的按钮仅在第二次单击时触发 itemcommand
【发布时间】:2012-04-03 22:50:02
【问题描述】:

我遇到了一个问题,即 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>

radgrid 使用 NeedDataSource 获取其数据。 页面加载不执行任何操作。

在 itemcreated/itemdatabound 中调试期间,它显示的链接按钮 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','')">

单击按钮 - itemcommand 被触发。

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

提前感谢您的帮助。

【问题讨论】:

    标签: c# .net telerik radgrid


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-14
      • 1970-01-01
      • 2018-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多