向数据库添加下拉列表值,从页面加载函数添加哪些项目

时间:2012-10-19 09:10:25

标签: c# asp.net

protected void Page_Load(object sender, EventArgs e)
{
    //skipped
    foreach(pair item in al)  
    {           
        pid.Items.Add(new ListItem(item.getTitle(), item.getId()));

    }  

}

protected void Button1_Click(object sender, EventArgs e) 
{
            insertUser.Parameters.AddWithValue("@parent_id", Convert.ToInt32(pid.SelectedValue));

}

从上面的代码中有一个下拉列表,所有项目都是从Page_Load函数中添加的,而错误是,无论我从下拉列表中选择什么项目,只有第一项被添加到数据库中。

任何人都知道这是什么问题?

谢谢!

1 个答案:

答案 0 :(得分:2)

您不应在回发期间添加项目

if (!IsPostBack)
{
    foreach(pair item in al)  
    {           
        pid.Items.Add(new ListItem(item.getTitle(), item.getId()));

    }  
}

IsPostBack属性检查页面是第一次呈现还是响应回发。