データソースを介して入力されているASP.NETリピーターがあります。データが読み込まれ、画面に完全に表示されますが、読み込みフェーズ中にコードビハインドを介してそのリピーター内のデータの任意の行にアクセスしようとする試みはすべて失敗します。リピーターが画面にレンダリングされると、フォーム送信ですべてに完全にアクセスできますが、試行したすべてのロード関連イベント(Load、Init、PreRender、DataBindなど)で、空として表示されます。ロードフェーズ中にこのデータにアクセスするために、ASPXマークアップではなく、コードビハインドでリピーターをプログラムで設定する必要がありますか、それとも何か間違ったことをしているだけですか?
ASPXスニペット:
<div runat="server" id="rpt3" style="display: block;">
<p class="approvalHeaderText">
Rejected Items</p>
<asp:Repeater ID="RptRejected" runat="server" DataSourceID="SQL_EmployeeGetRejectedEdits">
<ItemTemplate>
<tr class="gridToggleWhite gridVisible" id="<%# Eval("RecID") %>_cont">
<td>
<%# Eval("OrderID")%>
</td>
スニペットの背後にあるコード-いくつかのイベントで試行されました(すべての変数が宣言されていると仮定します):
For i = 0 To RptRejected.Items.Count - 1
'Obtain current week's Expenses
curExpVal = RptRejected.Items(i).FindControl("ExpensePay")
If Not IsNothing(curExpVal) Then
If curExpVal.Text = "" Then
insertExp = 0
Else
insertExp = CSng(curExpVal.Text)
End If
Else
insertExp = 0
End If
Next