シナリオは次のとおりです。
DropDownListの選択は、受け入れ可能な値をリストするDBテーブルからバインドされます。ある時点での値は次のとおりです。
1 2 3 4
その後のある時点で、許容値のリストは次のように変更されます。
ワンツーフォーファイブ
ただし、ドロップダウンの値を格納するDBのフィールドには、一部の行に「Three」の値が含まれています。これらの行の1つをロードし、SelectedValueをそのように設定する場合:
dd.SelectedValue = data.Field; // where data.Field == "Three"
...次のエラーがスローされます:'dd'にはSelectedValueがありますが、これはアイテムのリストに存在しないため無効です。
ここでは、データのクリーンアップはオプションではありません。保存された値は、すでに作成されたデータに対しては無効な選択肢ではなく、新しく作成されたデータに対しては無効な選択肢であるため、お客様に問題が発生します。
他の人はこの状況にどのように対処しましたか?