中继器排序

时间:2019-04-15 04:19:12

标签: c# html asp.net

这是我的情况

我有带有Id,Name和Price列的中继器。 我想按价格从下拉列表中的升序或降序对价格列进行排序。我的下拉列表位于转发器之外。请帮助me.im对asp.net来说是新的

c#
  SqlConnection myconn;
    SqlCommand mycomm;
    myconn = new 




SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);  

  string  q =   ("SELECT postad.adid, postad.adtitle, postad.rate, postad.date, postad.pic1, addstate.statename, addcity.cityname, addsubcat.scatname, addcat.catname FROM addcity INNER JOIN addstate INNER JOIN addsubcat INNER JOIN postad INNER JOIN addcat ON postad.cat = addcat.catid ON addsubcat.subcatid = postad.scat ON addstate.stateid = postad.state ON addcity.cityid = postad.city WHERE (postad.scat = @scat) and (postad.expiry >= Getdate()) and postad.status='Approved'");
    mycomm = new SqlCommand(q, myconn);
    mycomm.Parameters.AddWithValue("@scat", Request.QueryString["scid"]);

    DataTable dt = new DataTable();
    SqlDataAdapter da = new SqlDataAdapter(mycomm);
    myconn.Open();
    da.Fill(dt);
    if (dt.Rows.Count > 0 && dt.Rows[0][0] != string.Empty)
    {
        rpt3.DataSource = dt;
        rpt3.DataBind();
    }
    else
    {
        rpt3.DataSource = null;
        rpt3.DataBind();
    }
    myconn.Close();









<asp:Repeater ID="Repeater2"  DataSourceID="SqlDataSource1" runat="server">
               <ItemTemplate >

                    <td class="itemWidth" style="margin-top:2%">
                 <asp:LinkButton ID="LinkButton6" CssClass="cat"   runat="server" 
                                    PostBackUrl='<%# Eval("subcatid", "viewads.aspx?scid={0}") %>' 
                                    Text='<%# Eval("scatname") %>' ForeColor="#666666"></asp:LinkButton><br />
            </td>

               </ItemTemplate>
            </asp:Repeater>

      <h5>Price</h5>
  <asp:DropDownList ID="DropDownList1" CssClass="form-control" runat="server"></asp:DropDownList>
  </div>

2 个答案:

答案 0 :(得分:0)

我认为您的问题比ASP.NET与SQL有关。通过在选择语句的末尾添加desc或asc来对选择语句的输出进行排序。

答案 1 :(得分:0)

SELECT
  postad.adid,
  postad.adtitle,
  postad.rate,
  postad.date,
  postad.pic1,
  addstate.statename,
  addcity.cityname,
  addsubcat.scatname,
  addcat.catname
FROM addcity
INNER JOIN addstate
INNER JOIN addsubcat
INNER JOIN postad
INNER JOIN addcat
  ON postad.cat = addcat.catid
  ON addsubcat.subcatid = postad.scat
  ON addstate.stateid = postad.state
  ON addcity.cityid = postad.city
WHERE (postad.scat = @scat)
AND (postad.expiry >= GETDATE())
AND postad.status = 'Approved'
ORDER BY CASE
  WHEN @orderBy = 0 THEN postad.rate
END ASC,
CASE
  WHEN @orderBy = 1 THEN postad.rate
END DESC

将@orderBy像@scat一样添加为0或1 ASCII表示0,而Desc表示1