只向下拉列表中添加一次项目
本文关键字:一次 项目 下拉列表 添加 | 更新日期: 2023-09-27 18:26:01
我有一个下拉列表,在页面加载时填充,如下所示:
protected void Page_Load(object sender, EventArgs e)
{
ddlCars.Items.Add("Ford");
ddlCars.Items.Add("Chevy");
ddlCars.Items.Add("BMW");
ddlCars.Items.Add("Jeep");
ddlCars.Items.Add("Nissan");
}
它工作得很好,但当用户更改下拉列表的选择时,列表会被重新填充,我会看到两次相同的项目,因为页面正在重新加载,并且这些值正在重新添加。
阻止这种情况发生的最好方法是什么?重要的是,AutoPostBack保持启用状态,以便根据用户选择更改信息。
感谢
您需要将该代码放入!Page.IsPostBack
块中。
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
ddlCars.Items.Add("Ford");
ddlCars.Items.Add("Chevy");
ddlCars.Items.Add("BMW");
ddlCars.Items.Add("Jeep");
ddlCars.Items.Add("Nissan");
}
}
这将允许该代码运行一次(当页面第一次加载时),然后每当页面由于用户交互等原因发布回服务器时就会被忽略。
有关详细信息,请参阅MSDN上的Page.IsPostBack。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
ddlCars.Items.Add("Ford");
ddlCars.Items.Add("Chevy");
ddlCars.Items.Add("BMW");
ddlCars.Items.Add("Jeep");
ddlCars.Items.Add("Nissan");
//ddlCars.datasource=?
//ddlCars.databind();
}
}