比如我想在其它的控件中调用
DropDownList6_SelectedIndexChanged
中的代码!
请高手做答!          不胜感激!

解决方案 »

  1.   

    你可以在Page_Load里直接写;DropDownList6_SelectedIndexChanged()
    或者 Button1_Click();
    可以调用的
      

  2.   

    用null代替,例如有两个参数:
    DropDownList6_SelectedIndexChanged(null, null);
    假设有三个参数:
    DropDownList6_SelectedIndexChanged(null, null, null);
      

  3.   

    把dropdownlist中的代码写成一个方法,然后再两个地方分别调用这个方法,
      

  4.   

    如果是公用的代碼,可以寫個方法public void xxx(x,x)(),然後,在別的地方和DropDownList6_SelectedIndexChanged下都可以直接調用xxx(x,x);
      

  5.   

    不好意思括號錯了,應該是public void xxx(x,x){...}
      

  6.   

    Snowdust(雪尘) ( ) 信誉:100    Blog  2006-12-28 16:23:08  得分: 0   
     
       
    用null代替,例如有两个参数:
    DropDownList6_SelectedIndexChanged(null, null);
    假设有三个参数:
    DropDownList6_SelectedIndexChanged(null, null, null);
    ----------------------------------
    我用了您的方法,也没有报错,也没有反映!这是怎么会事?  pikapi() ( ) 信誉:100    Blog  2006-12-29 09:27:11  得分: 0   
     
       把里面的代码写个函数,调用就是了,还有看了看,你的命名可不规范噢!一定不能轻视好的习惯.
      -------------------
    谢谢你的提醒
     
      

  7.   

    如果要在选择列表执行相应的事件代码 在private void InitializeComponent() 方法中要加上
    DropDownList6.SelectedIndexChanged +=new EventHandler(DropDownList6_SelectedIndexChanged);
    而且<asp:DropDownList id="DropDownList6" runat="server" width="300" rows="10" autopostback="true"> 其中autopostback="true"一定要有
      

  8.   

    如果你用控件的来调用的话,页面会先Page_Load()下,再执行,你的SelectIndex的值可能就变了,在Page_Load里加个Page.IsPostBack的判断再试试。  还有如果你使用了SelectIndexChange里的参数的话,这么调用就有问题了,你么穿参给他,写个参数传进去就好了
      

  9.   

    引用:最好是写个公用的方法,然后两个地方调用. 不安全的,而且.Net也设计了_ViewState的隐藏属性,就是保存PostBack后的页面值,不用就浪费了
      

  10.   

    这个,DropDownList6_SelectedIndexChanged是在控件外面注册的事件处理函数,本来就是在外面定义的,只是签名和控件内部的某个委托一致。不明白楼主的意思。
      

  11.   

    Top  
     scow(怡红快绿) ( ) 信誉:100    Blog  2006-12-29 09:53:13  得分: 0  
     
     
       这个,DropDownList6_SelectedIndexChanged是在控件外面注册的事件处理函数,本来就是在外面定义的,只是签名和控件内部的某个委托一致。不明白楼主的意思。
     
     
    _____________________________________________
    我是想在其它的dropdownlist_selectedindex 事件中调用DropDownList6_SelectedIndexChanged中的代码,这样可以减少重复代码!我现在的做法是,在一个公用函数里将代码粘贴进去,然后在其它地方调用。
      

  12.   

    scow(怡红快绿) ( ) 信誉:100    Blog  2006-12-29 09:53:13  得分: 0  
     
     
       这个,DropDownList6_SelectedIndexChanged是在控件外面注册的事件处理函数,本来就是在外面定义的,只是签名和控件内部的某个委托一致。不明白楼主的意思。
      
     
    -------------------------------------
    我是想在其它的dropdownlist 中调用dropdownlist6_selectedindex中的代码,这样可以减少重复代码!
               谢谢大家的讲解!
      

  13.   

    既然这样,dropdownlist6_selectedindex其实是个函数,调用就行了。只是这个函数被注册到事件处理程序,除此之外和其他函数也没什么区别。
      

  14.   

    把dropdownlist中的代码写成一个方法,然后再两个地方分别调用这个方法
      

  15.   

    只要符合它的方法签名的函数都可以做selectedindexchange的事件处理程序。
    例如
    void aaa(object sender,eventargs e);
    void bbb(object sender,eventargs e);
    void ccc(object sender,eventargs e);
    还可以注册多个函数到该事件(上面的函数都注册到selectedindexchange事件),这种情况下楼主会调用哪一个呢。只要概念清楚,理清自己的需求。自然能找到最合适的解决办法。
      

  16.   

    scow(怡红快绿) ( ) 信誉:100    Blog  2006-12-29 14:32:12  得分: 0  
     
     
       只要符合它的方法签名的函数都可以做selectedindexchange的事件处理程序。
    例如
    void aaa(object sender,eventargs e);
    void bbb(object sender,eventargs e);
    void ccc(object sender,eventargs e);
    还可以注册多个函数到该事件(上面的函数都注册到selectedindexchange事件),这种情况下楼主会调用哪一个呢。只要概念清楚,理清自己的需求。自然能找到最合适的解决办法。
     ________________________________________________________
    谢谢你的回复,感觉真是受益非浅!
    但我还是不太明白
    怎样注册到
    dropdownlist6_selectedindex函数 
    注册到事件处理程序 
      

  17.   

    注册事件代码:
    DropDownList1.SelectedIndexChanged += new EventHandler(aaa);
    DropDownList1.SelectedIndexChanged += new EventHandler(bbb);
    DropDownList1.SelectedIndexChanged += new EventHandler(ccc);这样写,帮你生成事件注册代码:
            <asp:DropDownList ID="DropDownList1" runat="server" OnSelectedIndexChanged="aaa">
            </asp:DropDownList>
        void aaa(Object sender, EventArgs e) {
        }