简体   繁体   English

如何根据另一个转发器中的radiobuttonlist过滤转发器项目的数据

[英]how to filter data of repeater items based on radiobuttonlist in another repeater

I have a shopping page where I am displaying filters on the left and side such as category, price, color, etc. and displaying products on the right hand side.我有一个购物页面,我在左侧和侧面显示过滤器,例如类别、价格、颜色等,并在右侧显示产品。 I am using repeater for filter data ie using radio buttonlist to filter data and trying to filter data in another repeater based on radiobuttonlist in repeater1.我正在使用转发器过滤数据,即使用单选按钮列表过滤数据并尝试根据转发器1 中的单选按钮列表过滤另一个转发器中的数据。 this is my page look I want to filter products based on semisubcategory这是我的页面外观我想根据半子类别过滤产品

<asp:Repeater ID="Repeater1" runat="server">
    <ItemTemplate>
        <td style="border-right:groove;">
            <h4>Semi Sub Category</h4>
            <asp:RadioButtonList ID="semiSubCat1" 
                 DataSource='<%# Eval("subquery1") %>'
                 DataTextField="semiSubCategoryName"
                 DataValueField="semiSubCategoryId" runat="server">
            </asp:RadioButtonList>
       </td>
    </ItemTemplate>
  </asp:Repeater>

Code Behind背后的代码

protected void Page_Load(object sender, EventArgs e)
{        
    var Rquery = from p in dc.ProductDatas
                 select new
                 {
                     p.productId,
                     p.proName,
                     subquery1 = from ps in dc.SemiSubCategories
                                select new { 
                                ps.semiSubCategoryId,
                               ps.semiSubCategoryName,
                                },
                    subquery2 = from sp in dc.Sizes 
                                select new {
                                sp.sizeId,
                                sp.sizeNumber,
                                },
                 };
    Repeater1.DataSource = Rquery;
    Repeater1.DataBind();
}
protected void semiSubCat_SelectedIndexChanged(object sender, EventArgs e)
{
    if (semiSubCat.SelectedIndex > 0)
    {
        string query = string.Format("select * from ProductData join SemiSubCategory on ProductData.semiSubCategory equals SemiSubCategory.semiSubCategoryId where semiSubCategoryName == semiSubCat.SelectedItem.Value"
                                                                    , sender, e);
        query.ToList();
    }
}

Try using OnCheckedChanged event尝试使用 OnCheckedChanged 事件

protected void RadioButton_CheckedChanged(object sender, System.EventArgs e)
{
    
   //Filter

}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM