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

关于ListBox控件的SelectedIndex属性!

楼主luchuanbo(哨兵)2006-05-03 12:27:51 在 .NET技术 / ASP.NET 提问

在一个页面中,我定义了一个ListBox控件,   并在页面载入时调用BindNewsData(int   nNewsKindID)函数绑定数据,页面运行后,其ListBox控件中的数据也正确,可为什么当我选择其中的项后,其SelectedIndex属性值不会变?  
   
  <asp:ListBox   id="NewsList"   Runat="server"   Width="450px"   Height="250px"   SelectionMode="Single"></asp:ListBox>  
     
  初始化   ListBox   中的数据的代码:  
  //   自定义函数,绑定新闻的数据  
      private   void   BindNewsData(int   nNewsKindID)  
      {  
        NewsList.Items.Clear();         //   清空News列表框中的原始数据  
        SqlConnection   myConnection   =   new   SqlConnection(DataBaseDB.ConnectionString);  
        String   cmdText   =   "SELECT   *   FROM   News   WHERE   NewsKindID   =   '"   +   nNewsKindID.ToString()   +   "'";  
        SqlCommand   myCommand   =   new   SqlCommand(cmdText,myConnection);  
        myConnection.Open();  
        SqlDataReader   sdrNews   =   myCommand.ExecuteReader(CommandBehavior.CloseConnection);  
        while(sdrNews.Read())  
        {  
          NewsList.Items.Add(new   ListItem(FormatTitle(sdrNews["Title"].ToString()),sdrNews["NewsID"].ToString()));  
        }  
        sdrNews.Close();         //   关闭SqlDataReader对象和链接  
      }  
     
     
  其个按钮的单击事件。  
  private   void   editBtn_Click(object   sender,   System.Web.UI.ImageClickEventArgs   e)  
      {  
        if(NewsList.SelectedIndex   >   -1)  
        {  
          Session["NewsKindListIndex"]   =   NewsKindList.SelectedIndex.ToString();  
          //   跳转到新闻修改页面,同时携带参数新闻ID  
          Response.Redirect("EditNews.aspx?NewsID="   +   NewsList.SelectedItem.Value);  
        }  
        else  
        {  
          Response.Write("<script>alert(\"请选择要修改的项!\")</script>");  
        }  
      }  
     
  问题:我有选定ListBox中的项,但为何"NewsList.SelectedIndex"的值总是   -1   , 问题点数:20、回复次数:3Top

1 楼net_lover(【孟子E章】)回复于 2006-05-03 12:33:46 得分 15

if(!IsPostBack)  
  {  
  BindNewsData(xx);  
  }Top

2 楼webwalker(Jason.Xu@BenQ.com)回复于 2006-05-03 12:35:57 得分 5

那说明,你数据项没绑定成功,默认是-1了Top

3 楼luchuanbo(哨兵)回复于 2006-05-03 12:39:45 得分 0

TO:   二楼的朋友。  
          if(!Page.IsPostBack)  
          {  
                  BindNewsData(XX);  
            }  
        这段代码我有的,并且也能正确读出数据。  
   
  TO:   三楼的朋友。  
          我想数据绑定应没有问题,因为ListBox控件中有我要的数据项。而SelectedIndex应反映出当前选中项的索引号,Top

相关问题

关键词

得分解答快速导航

  • 帖主:luchuanbo
  • net_lover
  • webwalker

相关链接

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

广告也精彩

反馈

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