我的网页有一个下拉菜单,无论用户选择哪个项目,它总是返回值0作为选定的索引。我使用数据库查询填充了下拉菜单。我正在页面上的Page_Load方法中填充。下面显示的代码执行指定的工作:int danceid;对于下拉列表,SelectedIndex总是返回值0
protected void Page_Load(Object sender, EventArgs e)
{
if (!IsPostBack)
{
PopulateDanceDropDown();
}
}
private void PopulateDanceDropDown()
{
DataTable dt = new DataTable();DataRow row = null;
dt.Columns.Add("Did", Type.GetType("System.Int32"));
dt.Columns.Add("DName", Type.GetType("System.String"));
var dancer_dance = (from dd in context.DANCER_AND_DANCE
where dd.UserId == dancerId
select new
{
Value = dd.DanceId,
Text = dd.DanceName
}).ToList();
foreach (var dndd in dancer_dance)
{
row = dt.NewRow();
row["Did"] = dndd.Value;
row["DName"] = dndd.Text;
dt.Rows.Add(row); dances.DataSource = dt;
dances.DataTextField = dt.Columns[1].ToString();
if (!IsPostBack)
{
dances.DataBind();
}
}
protected void changeIndex(object o, EventArgs e)
{
danceid = dances.SelectedIndex;
}
protected void dropthedance(object o, EventArgs e)
{
int danceIDFromDropDown = danceid;
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);
}
}
该行int danceIDFromDropDown = danceid;在方法dropthedance的值总是0 Pleaseeeeeeeeeeeeee帮助别人
你试过调试吗? – walther 2012-04-07 20:33:35
'Console.WriteLine(ex);'不是在ASP.NET中显示异常的好方法。摆脱它。 – 2012-04-07 20:34:58
是的,我一直在调试代码很长一段时间了。没有异常抛出,但“舞蹈”总是收到0 – user1318369 2012-04-07 20:49:31