gpt4 book ai didi

asp.net - UpdatePanel 外的中继器中的 AsyncPostBackTrigger

转载 作者:行者123 更新时间:2023-12-03 22:47:49 25 4
gpt4 key购买 nike

我想得到一个 cbxSupplement触发更新面板刷新,但不确定我是否使用错误 EventName或者用 CheckBox 是不可能做到的.如果我更换 CheckBoxButton ,它工作正常。

<asp:Repeater ID="repSupplements" runat="server">
<ItemTemplate>
<asp:CheckBox runat="server" ID="cbxSupplement" />
</ItemTemplate>
</asp:Repeater>
<asp:UpdatePanel runat="server" ID="up1">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="repSupplements" EventName="CheckedChanged" />
</Triggers>
<ContentTemplate>
//Get checked items
</ContentTemplate>
</asp:UpdatePanel>

最佳答案

CheckBox中继器内的控件在设计时不可用,您应该使用 ScriptManager.RegisterAsyncPostBackControl 注册它们方法。此方法需要 ScriptManager在页面或母版页上。

Repeater.OnItemCreated 创建处理程序事件和注册新创建的CheckBox .代码如下(注意 CheckBox 应该将 AutoPostBack 属性设置为 true):

<asp:Repeater ID="repSupplements" runat="server" 
OnItemCreated="repSupplements_ItemCreated">
<ItemTemplate>
<asp:CheckBox runat="server" ID="cbxSupplement" AutoPostBack="True" />
</ItemTemplate>
</asp:Repeater>

<asp:UpdatePanel runat="server" ID="up1">
<Triggers>

</Triggers>
<ContentTemplate>
//Get checked items
</ContentTemplate>
</asp:UpdatePanel>

代码隐藏:
protected void repSupplements_ItemCreated(object sender, RepeaterItemEventArgs e)
{
var control = e.Item.FindControl("cbxSupplement");
ScriptManager.GetCurrent(Page).RegisterAsyncPostBackControl(control);
}

这应该做你想做的。

关于asp.net - UpdatePanel 外的中继器中的 AsyncPostBackTrigger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15220026/

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