1

「'DropDownList11' には、アイテムのリストに存在しないため無効な SelectedValue があります。パラメータ名: 値」というエラーが表示されました。SQLDatasource の他のドロップダウンリストは正常に機能します。edit DetailsViewでこのドロップダウンリストを手動で作成します。選択して更新をクリックすると、SQL Server に送信されます。助けてください!ここにコード、

<EditItemTemplate>
                    <asp:DropDownList ID="DropDownList11" runat="server" SelectedValue='<%# Bind("Version") %>'>
                        <asp:ListItem Selected="True"></asp:ListItem>
                        <asp:ListItem>Oracle 11g</asp:ListItem>
                        <asp:ListItem>Oracle 11g R2</asp:ListItem>
                        <asp:ListItem>Server 2008</asp:ListItem>
                        <asp:ListItem>Server 2008 R2</asp:ListItem>
                        <asp:ListItem>Server 2012</asp:ListItem>
                        <asp:ListItem>SQL Svr 2008 R2 SS%S</asp:ListItem>
                        <asp:ListItem>SQL Svr 2012 SS%S</asp:ListItem>
                    </asp:DropDownList>
                </EditItemTemplate>
4

3 に答える 3

0

私の推測では、あなたは拘束力を持っています:

<%# Bind("Version") %>

また、Versionの値は、作成したリストに含まれていません。コードからそれを取り出して、機能するかどうかを確認することをお勧めします。もしそうなら、あなたはそれを選択する前に、その値をチェックしてリストにあることを確認する必要があることを知っています。

于 2012-11-29T15:25:45.507 に答える
0

ドロップダウン (Oracle 11g、Oracle 11g R2 など) に既にある値は、バインドしている値 (SelectedValue='<%# Bind("Version") %>') と一致することはできません。

ドロップダウンからバインドを削除し、asp ラベルを追加します。それに値をバインドすると、バインドしようとしている値が表示されます。ラベルのサンプル コードは次のとおりです。

<asp:Label ID="Label1" runat="server" Text="<%# Eval("Version").ToString() %>"></asp:Label>
于 2012-11-29T15:28:43.027 に答える
0

エラーが示すように、データベースからの「バージョン」の値は、指定した定義済みの値のリストにない可能性があります。ドロップダウンリストを一時的に削除してみてください:

<asp:TemplateField>
   <ItemTemplate><%#Eval("Version")%></ItemTemplate> 
</asp:TemplateField>

バージョンの値を確認して、ドロップダウン リストにあることを確認できます。

于 2012-11-29T15:29:50.003 に答える