我遇到一个问题,即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的控件 - 仍然是同样的问题。
提前感谢您的帮助。
答案 0 :(得分:1)
由于页面继承,看起来问题已经发生了。 我做了一个简单的aspx页面,没有使用我们的任何架构,它似乎工作正常。 然后我重新购买了代码,它停止了工作。 我已经设法通过更改使用Telerik控件的页面的页面继承来修复它。