我正在使用 OnItemDataBound 事件来尝试激活中继器中的禁用按钮。很简单,如果事件被触发,我知道中继器中有项目,因此想要启用按钮。我卡住的地方是在功能中投射按钮,以便我可以启用它。中继器代码的相关部分如下:
<asp:Repeater ID="RptEnterHours" runat="server" DataSourceID="SQL_EmployeeGetTimesheet" ClientIDMode="Predictable" OnItemDataBound="RptEnterHours_Bound">
'.....Irrelevant code.....
<FooterTemplate>
<asp:Button Enabled="false" ID="SubmitTimesheets" Text="Submit All Timesheets" OnClick="processTimesheetEntry" runat="server" OnClientClick="checkValues();" />
</FooterTemplate>
</asp:Repeater>
这是我背后的代码:
Sub RptEnterHours_Bound(Sender As Object, e As RepeaterItemEventArgs)
'Exposes the Submit All Timesheets button if timesheets are available.
If (e.Item.ItemType = ListItemType.Item) Or _
(e.Item.ItemType = ListItemType.AlternatingItem) Then
Dim sButton As Button = TryCast(Me.FindControl("SubmitTimesheets"), Button)
sButton.Enabled = True
End If
End Sub
这和所有其他尝试都产生了可怕的“对象引用未设置为对象的实例”消息。谁能告诉我我做错了什么以及为什么我后面的代码找不到按钮?