DropDownList为什么老取得同一个值

bullion 2003-11-14 11:40:11
private void Page_Load(object sender, System.EventArgs e)
{
DropDownList1.DataSource = ds.DefaultView;
DropDownList1.DataMember = "Categories";
DropDownList1.DataBind();
}

private void Button1_Click(object sender, System.EventArgs e)
{
Label1.Text = DropDownList1.SelectedItem.Value;
}

<asp:DropDownList id="DropDownList1" runat="server" DataTextField="CategoryName" DataValueField="CategoryID">
</asp:DropDownList>

<asp:Button id="Button1" runat="server" Width="93px" Height="24px" Text="Button"></asp:Button>

<asp:Label id="Label1" runat="server">Label</asp:Label></FONT>


数据库表里有四个值,可以在列表框里显示,但是点击Button时,Label1.Text的值只能取到第一个值,这是为什么?该怎么解决?
...全文
31 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sweet12345 2003-11-14
  • 打赏
  • 举报
回复
这是因为每次都是从Page_Load开始执行的,而你没有加以限制。以至于当你点了控件之后,又对DDL重新进行了邦定,所以每次取到的都成了第一个值(默认)
该为:
private void Page_Load(object sender, System.EventArgs e)
{

if(!Page.IsPostBack)
{
DropDownList1.DataSource = ds.DefaultView;
DropDownList1.DataMember = "Categories";
DropDownList1.DataBind();
}

}
ddangerous169 2003-11-14
  • 打赏
  • 举报
回复
如果是只取到第一个值得话,试试这样做
if (!ispostback)
{
DropDownList1.DataSource = ds.DefaultView;
DropDownList1.DataMember = "Categories";
DropDownList1.DataBind();
}
myzig 2003-11-14
  • 打赏
  • 举报
回复
页面刷新的问题,绑定写在
if(!IsPostBack)
{
...
}
xwbxn 2003-11-14
  • 打赏
  • 举报
回复
所有上面的!
xmqy110 2003-11-14
  • 打赏
  • 举报
回复
还有dowpdownlist的autopostback=true
xmqy110 2003-11-14
  • 打赏
  • 举报
回复
if(!IsPostBack)
{
...
}
muyangzuo 2003-11-14
  • 打赏
  • 举报
回复
private void Page_Load(object sender, System.EventArgs e)
{

if(!Page.IsPostBack)
{
DropDownList1.DataSource = ds.DefaultView;
DropDownList1.DataMember = "Categories";
DropDownList1.DataBind();
}

}
nova2001 2003-11-14
  • 打赏
  • 举报
回复
我也碰到过这样的问题。
haoliqi(学习男孩) 的方法可以解决。
haoliqi 2003-11-14
  • 打赏
  • 举报
回复
点击Button时触发Page_Load()
改为
if(!Page.IsPostBack)
{
DropDownList1.DataSource = ds.DefaultView;
DropDownList1.DataMember = "Categories";
DropDownList1.DataBind();

}
mywindyboy 2003-11-14
  • 打赏
  • 举报
回复
d1.DataSource=tmdt;
d1.DataTextField="type3_name";//显示字段
d1.DataValueField="type3_id";//值字段
d1.DataBind();
bullion 2003-11-14
  • 打赏
  • 举报
回复
多谢各位!

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧