<asp:DropDownList ID="ddloredr"runat="server"AutoPostBack="True"onselectedindexchanged="ddloredr_SelectedIndexChanged" >
    <asp:ListItem Value="0" Text="选择排序方式"></asp:ListItem>
   <asp:ListItem Value="1" Text="按发布时间降序"></asp:ListItem>
   <asp:ListItem Value="2" Text="按发布时间升序"></asp:ListItem>
   <asp:ListItem Value="3" Text="按浏览次数降序"></asp:ListItem>
   <asp:ListItem Value="4" Text="按浏览次数升序"></asp:ListItem>
</asp:DropDownList>
为什么我选择“按发布时间降序”,在选择“选择排序方式”Repeater怎么就没有信息了!DropDownList values=0时默认是根据时间倒叙,
SelectedIndexChanged时间代码
    protected void ddloredr_SelectedIndexChanged(object sender, EventArgs e)
    {
        string key = SPF.dfObjectToStr(this.scontent.Text.Trim());
        Response.Redirect("/Loan/Loanlist.aspx?job=" + Request.QueryString["job"] + "&utype=" + Request.QueryString["utype"] + "&ltype=" + Request.QueryString["ltype"] + "&keys=" + key + "&urloredr=" + ddloredr.SelectedValue + "");
        
    } 
Page_Load里的代码
ddloredr.SelectedValue = urloredr.ToString();
urlorder是个公有变量!!!

解决方案 »

  1.   

    再要选择drop,文本更改时,自动回发
      

  2.   

    要看你的Loanlist.aspx是怎么判断传进来的urloredr
      

  3.   

    回发了 ,你的repearter要重新绑定了~
      

  4.   

    在CS中 Request.QueryString["urloredr"] 然后根据这一条件,改变SQL中的排序
    Order by 时间 desc
      

  5.   

    Response.Redirect就是重新请求新的URL,所以新页面里Page_Load里,ddloredr.SelectedValue = urloredr.ToString()取到的是这个变量在Page类里的初始值,断点跟踪一下一切明了
      

  6.   


    是的,没看到,repearter不需要重绑定,因为控件会自动保存视图,
    要这样        if (!IsPostBack)
            {
                //绑定DropDownList
            }
    阻止重复绑定,就是,首次加载,才绑定DropDownList内容
      

  7.   

        public int urloredr
        {
            get
            {
                return SPF.dfStrToInt32(Request["urloredr"]);
            }    }
      

  8.   

    if(!ispostback)每次操作完,记得绑定数据库
      

  9.   

    DropDownList 不是绑定的数据,是我手写上去的!Repeater的信息我绑定过 了!在分页控件里绑定的
      

  10.   

    if (!IsPostBack) 

    //绑定repeater
    //但是不要把urlorder赋值放在这里
    }
      

  11.   

    不行!!!我把urlorder的值放在外面也不!
      

  12.   

    DropDownList 的其他几个都能用!就是第一个不能用!当我先选择其他的可以排序,然后我在选择第一个的时候!就没有用了!Repeater什么值都没有了!
      

  13.   

    你要给一个默认排序
    return SPF.dfStrToInt32(Request["urloredr"])==0?1:SPF.dfStrToInt32(Request["urloredr"]);
      

  14.   

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Text;
    using Genius.Tools;
    using DkLib.OnLoan;
    using DkLib.Users;
    using DkLib.Product;public partial class Loan_LoanList : System.Web.UI.Page
    {
        #region 变量
        public int count = 0;
        public int? job = 0;
        public int? utype = 0;
        public int lutype = 0;
        public string keys = "";
        public int? loantype = 0;
        public int urloredr
        {
            get
            {
                return SPF.dfStrToInt32(Request["urloredr"]);
            }    }
        #endregion
        protected void Page_Load(object sender, EventArgs e)
        {
            
            if (!IsPostBack)
            {
                job =SPF.dfStrToInt32(Request.QueryString["job"]);
                utype = SPF.dfStrToInt32(Request.QueryString["utype"]);
                lutype = SPF.dfStrToInt32(Request.QueryString["ltype"]);
                keys = SPF.dfObjectToStr(Request.QueryString["keys"]);
                switch (lutype)
                { 
                    case 0:
                        loantype = null;
                        break;
                    case 1:
                        loantype = 0;
                        break;
                    case 2:
                        loantype = 1;
                        break;
                }
               
                #region 根据条件获取行数
                string strWhere = "status = 1 and IsAudit = 0 and AuditMember!=0";
                count = Loan.GetVCountByWhere(strWhere,SPF.dfStrToSQL(keys),(job==0)?null:job,
                    (utype == 0)?null:utype,(loantype ==0)?null:loantype);
                this.pages.RecordCount = count;
                Binddemand();
                #endregion
                ddloredr.SelectedValue = urloredr.ToString();
            }
        }
        protected void pageControl_PageChanged(object sender, EventArgs e)
        {
            Binddemand();   
        }
        protected void butSearch_Click(object sender, EventArgs e)
        {
            string key = SPF.dfObjectToStr(this.scontent.Text.Trim());
            Response.Redirect("/Loan/Loanlist.aspx?job=" + Request.QueryString["job"] + "&utype=" + Request.QueryString["utype"] + "&ltype=" + Request.QueryString["ltype"] + "&keys=" + key + "");
        }
        public void Binddemand()
        {
            int pageindex = this.pages.CurrentPageIndex;
            int pagesize = this.pages.PageSize;
            string strWhere = " status = 1 and IsAudit = 0 and AuditMember!=0";
            string order = "Created desc";
            switch (urloredr)
            {
                case 0:
                    order = "Created desc";
                    break;
                case 1:
                    order ="Created desc";
                    break;
                case 2:
                    order ="Created asc";
                    break;
                case 3:
                    order ="Clicks desc";
                    break;
                case 4:
                    order = "Clicks asc";
                    break;
            }
            rptdemand.DataSource = Loan.GetdemWhere(pageindex, pagesize,order, strWhere,SPF.dfStrToSQL(keys), (job == 0) ? null : job,
                    (utype == 0) ? null : utype, loantype);
            rptdemand.DataBind();
        }
        #region 获取用户头像
        public string MemberImg(int memberid)
        {
            Personals model = Personals.GetModel(memberid);
            string image = "";
            if (model != null)
            {
                image = System.Configuration.ConfigurationManager.AppSettings["ImgMemberPath"].ToString() + model.PhotoUrl.ToString();
            }
            return image;
        }
        #endregion
        protected void ddloredr_SelectedIndexChanged(object sender, EventArgs e)
        {   
            string key = SPF.dfObjectToStr(this.scontent.Text.Trim());
            Response.Redirect("/Loan/Loanlist.aspx?job=" + Request.QueryString["job"] + "&utype=" + Request.QueryString["utype"] + "&ltype=" + Request.QueryString["ltype"] + "&keys=" + key + "&urloredr=" + ddloredr.SelectedValue + "");
            
        }
    }
      

  15.   

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Text;
    using Genius.Tools;
    using DkLib.OnLoan;
    using DkLib.Users;
    using DkLib.Product;public partial class Loan_LoanList : System.Web.UI.Page
    {
      #region 变量
      public int count = 0;
      public int? job = 0;
      public int? utype = 0;
      public int lutype = 0;
      public string keys = "";
      public int? loantype = 0;
      public int urloredr
      {
      get
      {
      return SPF.dfStrToInt32(Request["urloredr"]);
      }  }
      #endregion
      protected void Page_Load(object sender, EventArgs e)
      {
        
      if (!IsPostBack)
      {
      job =SPF.dfStrToInt32(Request.QueryString["job"]);
      utype = SPF.dfStrToInt32(Request.QueryString["utype"]);
      lutype = SPF.dfStrToInt32(Request.QueryString["ltype"]);
      keys = SPF.dfObjectToStr(Request.QueryString["keys"]);
      switch (lutype)
      {  
      case 0:
      loantype = null;
      break;
      case 1:
      loantype = 0;
      break;
      case 2:
      loantype = 1;
      break;
      }
        
      #region 根据条件获取行数
      string strWhere = "status = 1 and IsAudit = 0 and AuditMember!=0";
      count = Loan.GetVCountByWhere(strWhere,SPF.dfStrToSQL(keys),(job==0)?null:job,
      (utype == 0)?null:utype,(loantype ==0)?null:loantype);
      this.pages.RecordCount = count;
      Binddemand();
      #endregion
      ddloredr.SelectedValue = urloredr.ToString();
      }
      }
      protected void pageControl_PageChanged(object sender, EventArgs e)
      {
      Binddemand();   
      }
      protected void butSearch_Click(object sender, EventArgs e)
      {
      string key = SPF.dfObjectToStr(this.scontent.Text.Trim());
      Response.Redirect("/Loan/Loanlist.aspx?job=" + Request.QueryString["job"] + "&utype=" + Request.QueryString["utype"] + "&ltype=" + Request.QueryString["ltype"] + "&keys=" + key + "");
      }
      public void Binddemand()
      {
      int pageindex = this.pages.CurrentPageIndex;
      int pagesize = this.pages.PageSize;
      string strWhere = " status = 1 and IsAudit = 0 and AuditMember!=0";
      string order = "Created desc";
      switch (urloredr)
      {
      case 0:
      order = "Created desc";
      break;
      case 1:
      order ="Created desc";
      break;
      case 2:
      order ="Created asc";
      break;
      case 3:
      order ="Clicks desc";
      break;
      case 4:
      order = "Clicks asc";
      break;
      }
      rptdemand.DataSource = Loan.GetdemWhere(pageindex, pagesize,order, strWhere,SPF.dfStrToSQL(keys), (job == 0) ? null : job,
      (utype == 0) ? null : utype, loantype);
      rptdemand.DataBind();
      }
      #region 获取用户头像
      public string MemberImg(int memberid)
      {
      Personals model = Personals.GetModel(memberid);
      string image = "";
      if (model != null)
      {
      image = System.Configuration.ConfigurationManager.AppSettings["ImgMemberPath"].ToString() + model.PhotoUrl.ToString();
      }
      return image;
      }
      #endregion
      protected void ddloredr_SelectedIndexChanged(object sender, EventArgs e)
      {   
      string key = SPF.dfObjectToStr(this.scontent.Text.Trim());
      Response.Redirect("/Loan/Loanlist.aspx?job=" + Request.QueryString["job"] + "&utype=" + Request.QueryString["utype"] + "&ltype=" + Request.QueryString["ltype"] + "&keys=" + key + "&urloredr=" + ddloredr.SelectedValue + "");
        
      }
      

  16.   

     case 4:
      order = "Clicks asc";
      break;
     default:
       order = "Created desc";
       break;

    }