ダンスアカデミー用のウェブサイトを用意しています。ユーザーはダンスクラスの登録と追加/削除ができます。LINQを使用せずにDBからドロップダウンリストにレコードを保存するデータソース
特定のユーザーに対して、特定のダンスをドロップするWebページでは、ドロップダウンに登録済みのダンスが表示されます。
今、リストからダンスの1つを削除します。
したがって、テーブルから行を削除してドロップダウンリストからも削除します。問題は、ID(インデックス)が最も低いアイテムが削除されるたびに、ユーザーがどちらを選択しても問題が発生することです。
私はドロップダウンのDataTextFieldとDataValueFieldを間違って保存していると思います。誰かが私を助けてくれますか? コードは次のとおりです。
private void PopulateDanceDropDown()
{
var registereddanceList = from dd in context.DANCER_AND_DANCE
where dd.UserId == dancerId
select new
{
Text = dd.DanceName,
Value = dd.DanceId
};
dances.DataSource = registereddanceList;
dances.DataTextField = "Text";
dances.DataValueField = "Value";
dances.DataBind();
}
protected void dropthedance(object o, EventArgs e)
{
String strDataValueField = dances.SelectedItem.Value;
int danceIDFromDropDown = Convert.ToInt32(strDataValueField);
var dancer_dance = from dd in context.DANCER_AND_DANCE
where dd.DanceId == danceIDFromDropDown
select dd;
foreach (var dndd in dancer_dance)
{
context.DANCER_AND_DANCE.DeleteOnSubmit(dndd);
}
try
{
context.SubmitChanges();
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
PopulateDanceDropDown();
}
<asp:DropDownList ID = "dances" runat="server">
</asp:DropDownList>
<asp:Button ID="dropDance" runat="server" OnClick="dropthedance" Text="Drop Class" BackColor="Maroon" ForeColor="#FFCC99"/>
両方のコードで同じコンテキストが使用されていますか?あなたのタイトルにLINQデータソース_を使用していないとどういう意味ですか?それは要件ですか、それはどこで失敗ですか?あなたのコードはOKであるはずです。 –