在做一个项目,用的是VS2005,现在要在一个页面完成一个功能:更新DataList中选定后某个项的状态,DataList里面有很多小项,我选中其中一个,那么这个就变红色了,然后点击另外一个地方的更新按钮,那么,这个小项的状态就更新了,问题就在这个DataList上:书上给了DataList的代码,它的开头是这样的: protected void dlRoomState_SelectedIndexChanged(object sender,DataListCommandEventArgs e)
    {
        //代码区.........................
    }
而我做的时候,当我拖进一个DataList控件,同时选中它,在它的事件SelectedIndexChanged这里双击,那么就会自动跳到后台,形成类似于上面的那样的方法,可是,它形成的确是: protected void dlRoomState_SelectedIndexChanged(object sender,EventArgs e)
    {
        //代码区.........................
    }
就一个区别:DataListCommandEventArgs e和EventArgs e,这是怎么回事?首先书上应该没错吧,但是,为什么我的DataList怎么是EventArgs e呢?难道实现上面那个功能是不是SelectedIndexChanged?可是,有正确的案例啊?急,谢谢了

解决方案 »

  1.   

    DataListCommandEventArgs是命令参数
    版本是否一致,还有可能是书籍错误
      

  2.   

    为什么我自己弄的确是:protected void dlRoomState_SelectedIndexChanged(object sender,EventArgs e)
        {
            //代码区.........................
        }可是要求应该是:
    protected void dlRoomState_SelectedIndexChanged(object sender,DataListCommandEventArgs e)
        {
            //代码区.........................
        }
      

  3.   

    还是不行的,试过好几次了,后面就是跟着EventArgs e,请问各位,你们试试看,会不会有DataListCommandEventArgs e啊?
      

  4.   

    http://www.cnblogs.com/couhujia/archive/2009/09/26/1574617.html
    这里有个GridViwd的文章看能不能帮到你
      

  5.   

    你可以使用dlRoomState.SelectedIndex来替代书上e.Row.RowIndex处相关的代码。