ユーザーがドロップダウン リストから値を選択してボタンをクリックすると、値が 2 番目のリストに追加されます (これも画面に表示されます)。
問題は、ユーザーがボタンをクリックすると、選択した値が 2 番目のリストに追加されますが、ドロップダウン リストが複製され、元のドロップダウン リストに追加されます。
元のドロップダウンには 1、2、3 があり、ユーザーは「1」を選択してボタンを押します。「1」が 2 番目のリストに追加され、画面に表示されますが、ユーザーがドロップダウンをクリックすると、2、3、1、2、3 が含まれるようになります。
Iv はブレーク ポイントを使用してコードを実行しましたが、.dataSource と関係があると思います。
protected void UpdatePage()
{
int Id = System.Convert.ToInt32(Id.Value);
List<Contractor> allContractors = new List<Contractor>();
ClarkeDBDataContext db = new ClarkeDBDataContext();
allSubContractors = (from BoqContractors in db.BOQ_Contractors
where BoqContractors.Bill_Of_Quantity_id == tempBoqId
select BoqContractors.Contractor).ToList();
repeaterShowContractorName.DataSource = allContractors;
repeaterShowContractorName.DataBind();
IEnumerable<Sub> availableContractors =
(from sc in db.Contractors
select sc).ToList().Except(allContractors);
//i've tried to set it to null to test it, but to no avail
DropDownListContractors.DataSource = null;
DropDownListContractors.DataSource = availableContractors;
DropDownListContractors.DataBind();
}