CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

神啊,救救我吧!关于DropDownList控件SelectedItem的奇怪问题——俺是新手

楼主ygsygs(雨一直下)2005-09-01 16:35:24 在 .NET技术 / ASP.NET 提问

新建了一个Access表,有两个字段:用户名和密码。  
   
  新建一aspx文件,建了一个DropDownList控件,将表绑定到这个控件,其DataTextField="用户名"和DataValueField="密码"。  
   
  又加了四个控件,Button用以控件事件,Label控件lblSelectedIndex、lblSelectedText、lblSelectedValue用以显示DropDownList控件的选定项的信息。  
   
  问题出现了,不管选定了DropDownList控件的第几项,Label控件总是显示第一项的信息,屡试不爽,烦都烦晕了,谁能救救我啊?  
   
  <%@   Page   Language="C#"%>  
  <%@   Import   Namespace="System.Data.OleDb"   %>  
   
  <script   runat=server>  
   
  void   Page_Load(object   sender,   System.EventArgs   e)  
  {  
            if(!IsPostBack)  
  {  
  OleDbConnection   conNorthwind0;  
  OleDbCommand   cmdSelect0;  
  OleDbDataReader   dtrCategories0;  
  conNorthwind0   =   new   OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA   Source=c:\\tmp\\db1.mdb");  
  cmdSelect0   =   new   OleDbCommand(   "Select   *   From   用户名表",   conNorthwind0   );  
  conNorthwind0.Open();  
  dtrCategories0   =   cmdSelect0.ExecuteReader();  
  UserName.DataSource   =   dtrCategories0;  
  UserName.DataTextField="用户名";  
  UserName.DataValueField="密码";  
  UserName.DataBind();  
   
  dtrCategories0.Close();  
  conNorthwind0.Close();    
  }  
  }  
   
  void   Button_Click(Object   sender   ,   EventArgs   e)    
  {  
      lblSelectedIndex.Text   =   UserName.SelectedIndex.ToString();  
      lblSelectedText.Text   =   UserName.SelectedItem.Text.ToString();  
      lblSelectedValue.Text   =   UserName.SelectedItem.Value.ToString();  
  }  
   
  </Script>  
   
  <html>  
  <head><title>DropDownListValueSelected.aspx</title></head>  
  <body>  
   
  <form   Runat="Server">  
   
  <asp:DropDownList  
      ID="UserName"  
      Runat="Server">  
       
  </asp:DropDownList>  
   
  <asp:Button  
      Text="Select   Category!"  
      OnClick="Button_Click"  
      Runat="Server"   />  
   
  <hr>  
   
  Selected   Index:  
  <asp:Label  
      ID="lblSelectedIndex"  
      Runat="Server"   />  
   
  <p>  
  Selected   Text:  
   
  <asp:Label  
      ID="lblSelectedText"  
      Runat="Server"   />  
   
  <p>  
  Selected   Value:  
  <asp:Label  
      ID="lblSelectedValue"  
      Runat="Server"   />  
   
  </form>  
  </body>  
  </html>  
  问题点数:50、回复次数:14Top

1 楼kaixin110(kydk.com)回复于 2005-09-01 16:50:34 得分 0

DropDownList的aupostback设置为true了吗  
  你单步Debug了吗  
  你仔细分析变量的值了  
   
  谢谢  
  如果还有问题.欢迎回复Top

2 楼gabriel1(说自己的话,让别人走路去吧)回复于 2005-09-01 16:55:54 得分 0

检查一下你的USerName的enableViewState是否设置为true了Top

3 楼iuhxq(小灰)回复于 2005-09-01 17:00:04 得分 0

DropDownList的aupostback设置为true了吗  
  检查一下你的USerName的enableViewState是否设置为true了  
   
  上面这两条有关系吗?  
   
   
  代码看上去是没错的Top

4 楼ygsygs(雨一直下)回复于 2005-09-01 17:19:22 得分 0

DropDownList的aupostback设置为true了吗  
  检查一下你的USerName的enableViewState是否设置为true了  
   
  这和问题没有太大关系。aupostback不能设为TRUE,否则还没点Button,就自动提交了。  
   
  谁帮帮我啊Top

5 楼ygsygs(雨一直下)回复于 2005-09-01 17:30:40 得分 0

我试了一下,如果把  
  UserName.DataTextField="用户名";  
  UserName.DataValueField="密码";  
   
  改为只有一条:UserName.DataTextField="用户名";  
   
  那么就能正常运行,但DataValueField和DataTextField一样,不是我想要的值了。  
   
  这怎么回事啊,请大家帮帮忙啦!Top

6 楼ygsygs(雨一直下)回复于 2005-09-02 13:17:09 得分 0

这个问题没人知道吗?不会这么难吧?Top

7 楼hchxxzx(NET?摸到一点门槛)回复于 2005-09-02 13:33:28 得分 0

我把你的代码,全部拷到我的机器上,建立一个相应的表,进行测试,结果完全正常。  
  怀疑是你的机器问题。  
  你可重新新建一个页面,然后把代码有用的部分拷过去,再试一下。Top

8 楼fangbuge(窗外的雨)回复于 2005-09-02 13:47:57 得分 0

强人,把密码写到前台去,用户可以先看看再登录,愿意进哪个进哪个!Top

9 楼yusongkun(九道轮回)回复于 2005-09-02 13:48:06 得分 0

感觉你的代码没有问题。自己调试一下,就会发现问题,做好调试  
  Top

10 楼navy_koo(平湖秋水)回复于 2005-09-02 14:21:10 得分 0

 
  你的数据集是不是有问题?Top

11 楼Tony_HuangMan(发)回复于 2005-09-03 01:32:18 得分 0

如果这样做的话,每改变一次都要向服务器提高一次,我觉得这样做不是很好啊,如果你是这样做的话倒不如用<select>加<javascript>,这样做好多啦Top

12 楼shine_88(签名再好也就那样)回复于 2005-09-03 02:46:29 得分 0

DropDownList的aupostback设置为true了吗  
  检查一下你的USerName的enableViewState是否设置为true了  
  Top

13 楼bingbingcha(不思不归,不孟不E,原来是头大灰狼)回复于 2005-09-03 07:48:00 得分 0

在你的Page_Load中加入判断.判断是否回穿..这样才能使用AutoPostBack产生作用.避免重新绑定数据.  
   
  if   (!Page.IsPostBack){  
      你的代码.  
  }Top

14 楼chenghp(不登高山,不知天之高也;不临深溪,不知地之厚也。)回复于 2005-09-03 08:42:12 得分 0

应该是你的DDL控件的AuotPostBack没有设成TRUE,你试试看,。。。应该就是这个问题!Top

相关问题

  • DropDownList控件问题
  • dropdownlist控件问题
  • DropDownList 和datagrid 控件
  • DropDownList控件问题?
  • DropDownList控件问题?
  • DropDownList控件问题
  • 请教:DropDownList控件问题
  • DropDownList 控件的问题。
  • DropDownlist控件的selectIndexChanged事件
  • DropDownList 控件邦定问题

关键词

得分解答快速导航

  • 帖主:ygsygs

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo