gpt4 book ai didi

c# - 列中带有按钮的 .net Radgrid 仅在第二次单击时触发 itemcommand

转载 作者:行者123 更新时间:2023-11-30 18:00:46 28 4
gpt4 key购买 nike

我遇到了一个问题,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 的控件 - 仍然是同样的问题。

在此先感谢您的帮助。

最佳答案

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

关于c# - 列中带有按钮的 .net Radgrid 仅在第二次单击时触发 itemcommand,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9770391/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com