2016-03-23 10 views
-1

私はちょうど解決できないような珍しい状況があります。 TelerikのRadGridセットアップで、.ascx Webユーザーコントロールを使用してレコードを編集し、新しいレコードを追加しました。フォームには、レコードを編集するときにうまく動作する1 ASP.net DropdownListがあります。しかし、レコードを追加しようとすると、このエラーメッセージでアプリケーションがクラッシュします。なぜこのTelerik Radgridはいつか動作します

'DropDownList1'にはSelectedValueがありますが、これはアイテムのリストに存在しないため無効です。 パラメータ名:値説明現在のWeb要求の実行中に、未処理の例外が発生しました。エラーの詳細とコード内のどこで発生したのかについては、スタックトレースを参照してください。
例外の詳細:System.ArgumentOutOfRangeException: 'DropDownList1'にSelectedValueがあります。これはアイテムのリストに存在しないため無効です。 パラメータ名:値

以下は、.ascxページのドロップダウンを構成するためのコードです。

<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="EntityDataSource1" 
        DataTextField="StatusDescription" DataValueField="StatusDescription" 
        SelectedValue='<%# DataBinder.Eval(Container, "DataItem.Status") %>'> 
        <asp:ListItem Selected="True" Text="Select" Value=""> 
         </asp:ListItem> 
       </asp:DropDownList> 

ドロップダウンのためのデータソースには、EntityDataSourceを使用しており、そのコードを以下に示します。

<asp:EntityDataSource ID="EntityDataSource1" runat="server" ConnectionString="name=TipsFileEntities1" DefaultContainerName="TipsFileEntities1" EntitySetName="Status" 
        Select="it.[StatusDescription], it.[StatusCode]" AutoPage="true" OrderBy="it.[StatusDescription]"> 
       </asp:EntityDataSource> 

誰が、なぜ、フォームが編集のために、エラーなしでレンダリングしてレコードの追加ではないでしょう説明できますか?どのように私はそれを修正することができます上の任意の提案。私は、ソリューションのクリーニングと再構築を試みましたが、それは役に立ちません。

おかげ ペリー

答えて

0

私は、この問題に対する解決策を追跡することができました。 DropDownListの設定が不足していました。修正されたコードを以下に示します。

<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="EntityDataSource1" 
        DataTextField="StatusDescription" DataValueField="StatusDescription" AppendDataBoundItems ="true" 
        SelectedValue='<%# DataBinder.Eval(Container, "DataItem.Status") %>'> 
        <asp:ListItem Selected="True" Text="Select" Value=""></asp:ListItem> 
       </asp:DropDownList> 

I = "true" をAppendDataBoundItemsを残していました。

コードはレコードの追加と編集に使用されます

関連する問題