データの DropDownList と Add ButtonField で定義された次の DetailsView があります。
<asp:DetailsView ID="dvNewEntry" runat="server" Height="50px" Width="800px"
AutoGenerateRows="False" CssClass="gv_footer" BorderColor="Black"
BorderStyle="Solid" BorderWidth="2px" CellPadding="5" CellSpacing="8">
<FieldHeaderStyle CssClass="th_right" />
<Fields>
<asp:TemplateField HeaderText="Account Name">
<ItemTemplate>
<asp:Label ID="lblNewAcct" runat="server" Text='<%# Eval("ACCT_LIST") %
>'></asp:Label>
</ItemTemplate>
<InsertItemTemplate>
<asp:DropDownList ID="ddAcctList" runat="server" DataSourceID="LUWAcctList"
DataTextField="ACCT_LIST" DataValueField="ACCT_LIST"
SelectedValue='<%# Bind("ACCT_LIST") %>' Font-Size="Small" Width="600">
</asp:DropDownList>
</InsertItemTemplate>
</asp:TemplateField>
<asp:ButtonField ButtonType="Button" Text="Save" CommandName="Add"/>
</Fields>
</asp:DetailsView>
コードビハインドには、次の ItemCommand サブがあります。
Protected Sub dvNewEntry_ItemCommand(ByVal sender As Object, ByVal e As DetailsViewCommandEventArgs) Handles dvNewEntry.ItemCommand
If e.CommandName = "Add" Then
Dim newA As String
newA = Trim(CType(dvNewEntry.FindControl("ddAcctList"), DropDownList).Text)
etc. etc.
ユーザーがドロップダウン リストから値を選択すると、すべてが正常に機能します。しかし、選択せずに [追加] ボタンをクリックすると、"If e.CommandName = Add" 行に到達すると次のエラーが表示されます。
インデックスが配列の範囲外だった
この例外を処理するにはどうすればよいですか? ありがとう