1

我使用 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”行时,我会收到以下错误:

指数数组的边界之外

我该如何处理这个异常?谢谢

4

1 回答 1

0

If (e.[someproperty] IsNot Null) Then --> 你的代码解决了这个问题。谢谢坦纳

于 2014-01-17T15:13:39.430 回答