C# 下拉值仅选择第一个值
在下面的C代码中,尽管我选择了自己的年份,但仍然将值传递为1920。我可以看到下拉框中显示的所有值,但当我选择一个值并提交时,只有1920个值被传递到数据库C# 下拉值仅选择第一个值,c#,C#,在下面的C代码中,尽管我选择了自己的年份,但仍然将值传递为1920。我可以看到下拉框中显示的所有值,但当我选择一个值并提交时,只有1920个值被传递到数据库 protected void Page_Load(object sender, EventArgs e) { DropDownList3.Items.Clear(); for (int i = 1920; i <= 2000; i++) {
protected void Page_Load(object sender, EventArgs e)
{
DropDownList3.Items.Clear();
for (int i = 1920; i <= 2000; i++)
{
DropDownList3.Items.Add(i.ToString());
}
}
protected void Button1_Click(object sender, EventArgs e)
{
sbtc.dex(DropDownList3.SelectedItem);
}
有人能告诉我哪里出错了吗?因为当您单击按钮时,它再次执行页面加载事件中的代码。解决方案是只设置一次下拉列表值。您可以使用Page.IsPostBack属性检查这是初始加载还是回发
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
DropDownList3.Items.Clear();
for (int i = 1920; i <= 2000; i++)
{
DropDownList3.Items.Add(i.ToString());
}
}
}
因为当您单击按钮时,它再次执行页面加载事件中的代码。解决方案是只设置一次下拉列表值。您可以使用Page.IsPostBack属性检查这是初始加载还是回发
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
DropDownList3.Items.Clear();
for (int i = 1920; i <= 2000; i++)
{
DropDownList3.Items.Add(i.ToString());
}
}
}
像这样尝试
if(!IsPostBack)
[
for (int i = 1920; i <= 2000; i++)
{
DropDownList3.Items.Add(i.ToString());
}
}
像这样尝试
if(!IsPostBack)
[
for (int i = 1920; i <= 2000; i++)
{
DropDownList3.Items.Add(i.ToString());
}
}
尝试为所选项目设置如下值,确保检查回发
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
DropDownList3.Items.Clear();
for (int i = 1920; i <= 2000; i++)
{
DropDownList3.Items.Add( new ListItem(i.ToString(), i.ToString()));
}
}
}
protected void Button1_Click(object sender, EventArgs e)
{
sbtc.dex(DropDownList3.SelectedItem);
}
尝试为所选项目设置如下值,确保检查回发
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
DropDownList3.Items.Clear();
for (int i = 1920; i <= 2000; i++)
{
DropDownList3.Items.Add( new ListItem(i.ToString(), i.ToString()));
}
}
}
protected void Button1_Click(object sender, EventArgs e)
{
sbtc.dex(DropDownList3.SelectedItem);
}