gpt4 book ai didi

c# - 在转发器中找不到链接按钮

转载 作者:太空宇宙 更新时间:2023-11-03 20:31:58 24 4
gpt4 key购买 nike

我在带有几个数据绑定(bind)字段的转发器中有一个链接按钮。我试图在数据绑定(bind)后到达可以设置按钮 onClientClick 的位置,但是每次我尝试访问链接按钮时,我都会返回 Null。

我在这里查看了涉及中继器和控件的每一个问题,但一直无法弄清楚。

.aspx

    <asp:Repeater ID="DailyRepeater" OnItemCommand="DailyRepeater_ItemCommand" runat="server">
<HeaderTemplate>
<tr>
<td class="coltitle">
Time
</td>
<td class="coltitle">
Activity
</td>
<td class="coltitle">
Hours
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr class="evenrow">
<td>
<%# Eval("StartTime","{0:HH:mm}") %>-<%# Eval("EndTime","{0:HH:mm}") %>
</td>
<td>
<%# Eval("Description") %>
</td>
<td>
<%# Eval("Hours","{0:0.0}") %>
</td>
<td>
<asp:LinkButton runat="server" CausesValidation="false" ID="editbutton" Text="Edit">Edit</asp:LinkButton>
</td>
</tr>
</ItemTemplate>

.aspx.cs

    protected void DailyRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
LinkButton myButton = (LinkButton)e.Item.FindControl("editbutton");
myButton.OnClientClick = (popupWindow.GetTargetPopupCode("URL");
}

根据我的阅读,我应该能够使用 RepeaterItemEventargs 到达按钮。但是我似乎无法在这里找到它。我想到的另一件事是,在发生这种情况时绑定(bind)没有发生(这没有意义,因为这是一个数据绑定(bind)事件)但是由于某种原因 e 回来了 e.Item 有一个 null 的 dataItem 和itemIndex 为 -1...

我真的很困惑,如果失去任何帮助,我们将不胜感激。

谢谢!

最佳答案

看来你没有防范item类型。通常,它触发页眉、所有项目,然后是页脚。你需要这样做:

 if(e.Item.ItemType == ItemType.Item || e.Item.ItemType == ItemType.AlternatingItem)
{
LinkButton myButton = (LinkButton)e.Item.FindControl("editbutton");
myButton.OnClientClick = (popupWindow.GetTargetPopupCode("URL");
}

关于c# - 在转发器中找不到链接按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7099485/

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