0
我有一个可供用户注册和添加/删除舞蹈班的舞蹈学院网站。在不使用LINQ的情况下将记录存储在数据库的下拉列表中数据源
在网页上放弃特定的舞蹈,对于特定用户,下拉菜单显示她注册的舞蹈。
现在我想从列表中删除一个舞蹈。
因此,我将从表格中删除该行,并从下拉列表中删除该行。问题是,每当具有最低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"/>
在两段代码中'context'是否是同一个实例?在你的标题中没有使用LINQ Data source_是什么意思?这是一个需求吗,它是在哪里失败?你的代码看起来应该没问题。 – 2012-04-09 08:34:29