编辑列表视图项将返回"Cannot have multiple items selected in a DropDownList. "如果窗体视图处于编辑模式



我有一个FormView和一个ListView,我只想住在FormView的EditITemTemplate中。 但是,每当我单击列表视图中的编辑或更新链接按钮(FOrmView 处于编辑模式(时,页面都会出错:"无法在下拉列表中选择多个项目。 正如您在下面看到的,我已经从 FormView 中完全删除了 ListView,如果 FormView 处于只读状态,则列表视图将按预期运行。

        <asp:SqlDataSource ID="SqlSource" runat="server" ConnectionString="<%$ ConnectionStrings:RTUConnectionString %>" 
            SelectCommand="SELECT *, '' LogInput FROM [nei_list] WHERE [nei_id]=@ID">
                <SelectParameters>
                <asp:QueryStringParameter Name="ID" QueryStringField="ID" />
            </SelectParameters>
        </asp:SqlDataSource>
        <asp:SqlDataSource ID="SqlNEIT" runat="server" ConnectionString="<%$ ConnectionStrings:RTUConnectionString %>" 
            SelectCommand="SELECT ID TID, CLLI, EquipmentType, Officecode, OfficeName, WorkingLines, Testable Tstbl FROM NEI_Testable WHERE CLLI=@ID ORDER BY [EquipmentType], OfficeCode"
            UpdateCommand="UPDATE NEI_Testable SET Testable = @Tstbl WHERE ID=@TID"
            >
            <SelectParameters>
                <asp:QueryStringParameter Name="ID" QueryStringField="ID" />
            </SelectParameters>
            <UpdateParameters>
                <asp:Parameter Name="Tstbl" Type="String" />
                <asp:Parameter Name="TID" Type="String" />
            </UpdateParameters>
        </asp:SqlDataSource>
        <asp:FormView ID="FormView1" runat="server" DataSourceID="SqlSource" DefaultMode="ReadOnly">
            <EditItemTemplate>
                <table cellpadding="6" style="width: 100%">
                    <tr style="font-size:large; background-color: #006600; color: #FFFFFF;">
                        <td style="padding: 2px" align="center"></b></td>
                        <td style="padding: 2px" colspan="5" align="left"><b>NEI Maintenance and Inventory Log</b></td></tr>
                <tr>
                    <td style="font-size:small; background-color:#CEF6CE; color: #333333; width: 130px;"><B>Location ID:</B></td>
                    <td style="font-size:medium; background-color: #E8E8E8;color: #284775; "><asp:Textbox ID="txtLocID" runat="server" Text='<%# Bind("Location_ID") %>' /></td>
                    <td style="font-size:small; background-color:#CEF6CE; color: #333333; width: 130px;"><B>Location Name:</B></td>
                    <td style="font-size:medium; background-color: #E8E8E8;color: #284775; "><asp:Textbox ID="txtLocName" runat="server" Text='<%# Bind("LOCATION_NAME") %>' /></td>
                    <td style="font-size:small; background-color:#CEF6CE; color: #333333; width: 130px;"><B>NET_LOC_TYPE_ID:</B></td>
                    <td style="font-size:medium; background-color: #E8E8E8;color: #284775; "><asp:Textbox ID="txtNETLOC" runat="server" Text='<%# Bind("NET_LOC_TYPE_ID") %>' /></td>
                </tr>
                <tr>
                    <td style="font-size:small; background-color:#CEF6CE; color: #333333; width: 130px;"><B>Host:</B></td>
                    <td style="font-size:medium; background-color: #E8E8E8;color: #284775; "><asp:Textbox ID="txtHOST" runat="server" Text='<%# Bind("MAIN_ID") %>' /></td>
                    <td style="font-size:small; background-color:#CEF6CE; color: #333333; width: 130px;"><B>EXCH AREA CLLI:</B></td>
                    <td style="font-size:medium; background-color: #E8E8E8;color: #284775; "><asp:Textbox ID="txtEXCH" runat="server" Text='<%# Bind("EXCHANGE_AREA_CLLI") %>' /></td>
                    <td style="font-size:small; background-color:#CEF6CE; color: #333333; width: 130px;"><B>OP CO NUM:</B></td>
                    <td style="font-size:medium; background-color: #E8E8E8;color: #284775; "><asp:Textbox ID="txtOPCO" runat="server" Text='<%# Bind("OPERATING_COMPANY_NUMBER") %>' /></td>
                </tr>
                <tr>
                    <td style="font-size:small; background-color:#CEF6CE; color: #333333; width: 130px;"><B></B></td>
                    <td style="font-size:small; background-color:#E8E8E8; color: #333333; width: 130px;"><B>System:</B></td>
                    <td style="font-size:small; background-color:#CEF6CE; color: #333333; width: 130px;"><B>Testable:</B></td>
                    <td style="font-size:small; background-color:#E8E8E8; color: #333333; width: 130px;"><B>RTU:</B></td>
                    <td style="font-size:small; background-color:#CEF6CE; color: #333333; width: 130px;"><B>EXT:</B></td>
                    <td style="font-size:small; background-color:#E8E8E8; color: #333333; width: 130px;"><B>NEI:</B></td>
                </tr>
                <tr>
                    <td style="font-size:medium; background-color: #CEF6CE;color: #284775; "></td>
                    <td style="font-size:medium; background-color: #E8E8E8;color: #284775; ">
                        <asp:DropDownList ID="ddlSys" runat="server" SelectedValue='<%# Bind("system") %>' Enabled="True" >
                            <asp:ListItem Value="AC" Selected="True">AC</asp:ListItem>
                            <asp:ListItem Value="OSG" Selected="True">OSG</asp:ListItem>
                        </asp:DropDownList>
                    </td>
                    <td style="font-size:medium; background-color: #CEF6CE;color: #284775; ">
                        <asp:DropDownList ID="ddlTst" runat="server" SelectedValue='<%# Bind("testable") %>' Enabled="True" >
                            <asp:ListItem Value="YES" Selected="True">YES</asp:ListItem>
                            <asp:ListItem Value="NO" Selected="True">NO</asp:ListItem>
                        </asp:DropDownList>
                    </td>
                    <td style="font-size:medium; background-color: #E8E8E8;color: #284775; ">
                        <asp:DropDownList ID="ddlRTU" runat="server" SelectedValue='<%# Bind("RTU") %>' Enabled="True" >
                            <asp:ListItem Value="YES" Selected="True">YES</asp:ListItem>
                            <asp:ListItem Value="NO" Selected="True">NO</asp:ListItem>
                        </asp:DropDownList>
                    </td>
                    <td style="font-size:medium; background-color: #CEF6CE;color: #284775; ">
                        <asp:DropDownList ID="ddlEXT" runat="server" SelectedValue='<%# Bind("EXT") %>' Enabled="True" >
                            <asp:ListItem Value="YES" Selected="True">YES</asp:ListItem>
                            <asp:ListItem Value="NO" Selected="True">NO</asp:ListItem>
                        </asp:DropDownList>
                    </td>
                    <td style="font-size:medium; background-color: #E8E8E8;color: #284775; ">
                        <asp:DropDownList ID="ddlNEI" runat="server" SelectedValue='<%# Bind("NEI") %>' Enabled="True" >
                            <asp:ListItem Value="YES" Selected="True">YES</asp:ListItem>
                            <asp:ListItem Value="NO" Selected="True">NO</asp:ListItem>
                        </asp:DropDownList>
                    </td>
                </tr>
                <tr>
                    <td style="font-size:small; background-color:#CEF6CE; color: #333333; text-align:center"><B>*<%#Request.Cookies["RTUA"]["NAME"].ToString() %>*<br />*<%#DateTime.Now.ToString("MM-dd-yyyy h:mmtt") %>*</B></td>
                    <td colspan="5" style="font-size:medium; background-color: #E8E8E8;color: #284775;"><asp:Textbox ID="txtREMARKS" runat="server" Text='<%# Bind("LogInput") %>'  Rows="5" TextMode="MultiLine" Width="100%" /></td>
                </tr>
                    <tr style="font-size:large; background-color: #006600; color: #FFFFFF;">
                        <td style="padding: 2px" align="center"><b><asp:button id="UpdateButton"  CausesValidation="True" text="Update" commandname="Update" runat="server" ForeColor="#003300"/> </b></td>
                        <td style="padding: 2px" colspan="5" align="left"><b></b></td></tr>
                <tr>
                </tr>
                </table>
            </EditItemTemplate>
            <ItemTemplate>
                <table cellpadding="6" style="width: 100%">
                    <tr style="font-size:large; background-color: #006600; color: #FFFFFF;">
                        <td style="padding: 2px" align="center"><b><asp:button id="EditButton" text="EDIT" commandname="Edit" runat="server" ForeColor="#003300"/> </b></td>
                        <td style="padding: 2px" colspan="5" align="left"><b>NEI Maintenance and Inventory Log</b></td></tr>
                <tr>
                    <td style="font-size:small; background-color:#CEF6CE; color: #333333; width: 130px;"><B>Location ID:</B></td>
                    <td style="font-size:medium; background-color: #E8E8E8;color: #284775; "><asp:Label ID="lblLocID" runat="server" Text='<%# Bind("Location_ID") %>' /></td>
                    <td style="font-size:small; background-color:#CEF6CE; color: #333333; width: 130px;"><B>Location Name:</B></td>
                    <td style="font-size:medium; background-color: #E8E8E8;color: #284775; "><asp:Label ID="lblLocName" runat="server" Text='<%# Bind("LOCATION_NAME") %>' /></td>
                    <td style="font-size:small; background-color:#CEF6CE; color: #333333; width: 130px;"><B>NET_LOC_TYPE_ID:</B></td>
                    <td style="font-size:medium; background-color: #E8E8E8;color: #284775; "><asp:Textbox ID="lblNETLOC" runat="server" Text='<%# Bind("NET_LOC_TYPE_ID") %>' /></td>
                </tr>
                <tr>
                    <td style="font-size:small; background-color:#CEF6CE; color: #333333; width: 130px;"><B>Host:</B></td>
                    <td style="font-size:medium; background-color: #E8E8E8;color: #284775; "><asp:Label ID="lblHOST" runat="server" Text='<%# Bind("MAIN_ID") %>' /></td>
                    <td style="font-size:small; background-color:#CEF6CE; color: #333333; width: 130px;"><B>EXCH AREA CLLI:</B></td>
                    <td style="font-size:medium; background-color: #E8E8E8;color: #284775; "><asp:Label ID="lblEXCH" runat="server" Text='<%# Bind("EXCHANGE_AREA_CLLI") %>' /></td>
                    <td style="font-size:small; background-color:#CEF6CE; color: #333333; width: 130px;"><B>OP CO NUM:</B></td>
                    <td style="font-size:medium; background-color: #E8E8E8;color: #284775; "><asp:Label ID="lblOPCO" runat="server" Text='<%# Bind("OPERATING_COMPANY_NUMBER") %>' /></td>
                </tr>
                </Table>
            </ItemTemplate>
        </asp:FormView>

                    <asp:ListView ID="lvNEIT" runat="server" DataSourceID="SqlNEIT">                       
                    <ItemTemplate>
                            <tr style="font-size:small; background-color: #FFFFFF;color: #284775;">
                            <td></td>
                            <td align="center">
                                <asp:Label ID="lblNEIID" runat="server" Text='<%# Bind("TID") %>' Visible="false" />
                                <asp:Label ID="lblNEIEQT" runat="server" Text='<%# Eval("EquipmentType") %>' />
                            </td>
                            <td align="center">
                                <asp:Label ID="lblNEION" runat="server" Text='<%# Eval("OfficeName") %>' />
                            </td>
                            <td align="center">
                                <asp:Label ID="lblNEIOC" runat="server" Text='<%# Eval("OfficeCode") %>' />
                            </td>
                            <td align="center">
                                <asp:Label ID="lblNEIWL" runat="server" Text='<%# Eval("WorkingLines") %>' />
                            </td>
                            <td align="right">
                                <asp:DropDownList ID="ddlNEITST" runat="server" SelectedValue='<%# Bind("Tstbl") %>' Enabled="False" >
                                    <asp:ListItem Value="YES" Selected="True">YES</asp:ListItem>
                                    <asp:ListItem Value="NO" Selected="True">NO</asp:ListItem>
                                    <asp:ListItem Value="UNK" Selected="True">UNK</asp:ListItem>
                                </asp:DropDownList>
                                &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
                                <asp:LinkButton ID="btnNEIEdit" runat="server" Text="Edit" CommandName="Edit" />
                            </td>
                        </tr>
                    </ItemTemplate>
                    <EditItemTemplate>                                
                        <tr style="font-size:small; background-color: #FFFFFF;color: #284775;">
                            <td></td>
                            <td align="center">
                                <asp:Label ID="lblNEIID" runat="server" Text='<%# Bind("TID") %>' Visible="false" />
                                <asp:Label ID="lblNEIEQT" runat="server" Text='<%# Bind("EquipmentType") %>' />
                            </td>
                            <td align="center">
                                <asp:Label ID="lblNEION" runat="server" Text='<%# Bind("OfficeName") %>' />
                            </td>
                            <td align="center">
                                <asp:Label ID="lblNEIOC" runat="server" Text='<%# Bind("OfficeCode") %>' />
                            </td>
                            <td align="center">
                                <asp:Label ID="lblNEIWL" runat="server" Text='<%# Bind("WorkingLines") %>' />
                            </td>
                            <td align="right">
                                <asp:DropDownList ID="ddlNEITST" runat="server" SelectedValue='<%# Bind("Tstbl") %>' Enabled="True" >
                                    <asp:ListItem Value="YES" Selected="True">YES</asp:ListItem>
                                    <asp:ListItem Value="NO" Selected="True">NO</asp:ListItem>
                                    <asp:ListItem Value="UNK" Selected="True">UNK</asp:ListItem>
                                </asp:DropDownList>
                                &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
                                <asp:LinkButton ID="btnNEISave" runat="server" Text="Update" CommandName="Update" />
                            </td>
                        </tr>
                    </EditItemTemplate>
                    <LayoutTemplate>
                        <table width="98%" cellpadding="5" cellspacing="3" runat="server">
                            <tr align="center" runat="server">
                                <td runat="server">
                                        <table id="itemPlaceholderContainer" runat="server" border="1" style="background-color: #FFFFFF;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;font-family: Verdana, Arial, Helvetica, sans-serif;">
                        <tr></tr>
                            <tr runat="server" style="font-size:small; background-color:#006600; color: #FFFFFF;">
                                <th runat="server"></th>
                                <th runat="server">EquipmentType</th>
                                <th runat="server">OfficeName</th>
                                <th runat="server">OfficeCode</th>
                                <th runat="server">WorkingLines</th>
                                <th runat="server">Testable</th>
                            </tr>
                            <tr id="itemPlaceholder" runat="server">
                            </tr>
                                    </table>
                                </td>
                            </tr>
                        </table>
                    </LayoutTemplate>
                    </asp:ListView>

提前致谢

你应该使用ListBox控件而不是下拉列表

       <asp:ListBox runat="server" ID="ddlSys" SelectionMode="multiple">
       <asp:ListItem Value="AC" Selected="True">AC</asp:ListItem>
        <asp:ListItem Value="OSG" Selected="True">OSG</asp:ListItem>
       </asp:ListBox> 

我的每个列表项都包含 Selected="True"。 删除了它,一切正常。

似乎这个愚蠢的错误会导致页面在第一个绑定事件上失败,而不是仅在 FormView 和 ListView 都处于编辑模式时发生。

最新更新