有点郁闷,每次触发一次dropdownlist的SelectedIndexChanged的事件  页面就刷新一次,看着一点都不爽,但是不知道怎么解决,自我认为应该用javascript,可是不会写,还望各位大虾们不吝赐教

解决方案 »

  1.   


    dropdownlist.attribute.add("onchange","return false")当然dropdownlist类的autopostback=false也可以吧
      

  2.   

          刚刚实验了一下   的确可以   但是这样不就到不了SelectedIndexChanged事件中了,那事件就不会触发
      

  3.   

    不刷新页面而又要更新数据的话还是用AJAX吧,
    推荐用MS的CascadingDropDown
      

  4.   

                   不会用AJAX         有JS脚本的提供下   多谢各位
      

  5.   

    在Page_Load里加上
    if(!Page.IsPostBack)
    {
    //你的程序
    }
      

  6.   

    两种方法
    1. 用ajax.net,加一个update panel就完了。
    2. 把SelectedIndexChanged那到client写,不过看lz还不太理解web开发的机制,对你可能不太好做。
      

  7.   

    把SelectedIndexChanged那到client写?        没理解明白             我的想法很简单  只是想在触发这个事件的时候  页面不用刷新       
      

  8.   

    你要是提交到服务器,哪怕不响应任何事件,整个页面就刷新了!!!
    其实当你把dropdown的autopostback=ture以后你会在客户端发现
    一个onchange脚本,该脚本的功能就是提交form,从而提交到服务器。
    而当你把dropdown的autopostback=false那么客户端将不会生成
    提交form的脚本,自然也就不提交到服务器了你现在不想刷新页面,那只能js实现。
    或者是asp.net.ajax实现
    将dropdown控件放入update里面就可以
      

  9.   

    将dropdown控件放入updatePanel里面就可以 
      

  10.   

    能简单说下asp.net.ajax吗?        用AjaxPro.2行吗?     
      

  11.   

    在你用程序更新(非手动) dropdownlist的值时 的代码段里最前面写
    //目的是去掉不必要的事件触发
    dropdownlist.SelectedIndexChanged -= new System.EventHandler(bindingSource1_PositionChanged);//代码段
    *************************
    *************************
    //代码段最后面写
    //再加上的目的是 还原啊
    dropdownlist.SelectedIndexChanged += new System.EventHandler(bindingSource1_PositionChanged);
      

  12.   

    如果你只是简单的客户端操作,完全不必用AJAX
    <script language="javascript">
    function setDDL()
    {
    ...
    }
    </script>DropDownList1.Attribute.Add("onchange","return setDDL()"); 
      

  13.   

               刚刚找到asp.net.ajax      还不会用  先看看
      

  14.   

    触发后台事件,刷新是必然的,建议你用AJAX  updatepanel
      

  15.   

    .net的事件触发带来的负面效应,搞得现在的人连什么是客户端什么是服务端都搞不清了。
      

  16.   

    用Ajax
    using System.Reflection;private static MethodInfo triggerInitMethod =
             typeof(UpdatePanelTrigger).GetMethod(
              "Initialize",
              BindingFlags.NonPublic | BindingFlags.Instance); protected void Page_Init(object sender,EventArgs e)
      {
          AsyncPostBackTrigger trigger1 = new AsyncPostBackTrigger();
            trigger1.ControlID = "DropDownList1";
            this.UpdatePanel1.Triggers.Add(trigger1);
            if (ScriptManager.GetCurrent(this).IsInAsyncPostBack)
            {
                triggerInitMethod.Invoke(trigger1, null);
            }
       }
    在页面中添加2个AJAX控件
    ScriptManager 和UpdatePanel,把你要触发的事件加到UpdatePanel里面 即可
      

  17.   

    好像还要在Web.config里面加上
    <httpHandlers>
        <remove verb="*" path="*.asmx"/>
         <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
         <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
         <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
        </httpHandlers>
      

  18.   

    把DropDownList扔到UpdatePanel里就可以了
      

  19.   

      <script type="text/javascript" language="javascript">
    function ChangeType(index)
         {
                    if(index==0)
            {
            }
            else if(index==1)
            {
            }
            else if(index==2)
            {
                   
            }
            
         }    </script>
     <cc1:CustDropDownList ID="ddlInfoType"  onchange="ChangeType(this.selectedIndex)"
                                    runat="server"> </cc1:CustDropDownList>
                               
      

  20.   

    dropdownlist默认是不会回发的吧.
    如果不必要的话,就将autopostback设为false,否则改变选项都会回发的.
    要不主放在updatepanel里.
      

  21.   

    说了这半天,都没有提出你的dropdownlist在SelectedIndexChanged中需要做什么处理,如果不需要通过服务器来处理的话,用纯JS的脚本就可以,如果必须使用服务器端的资源,那就必须要使用象Ajax之类的技术了.
    LZ有必要把自己的需求列清楚才好!