#c# #asp.net #sql-server #linq #repeater
#c# #asp.net #sql-сервер #linq #повторитель
Вопрос:
У меня есть страница покупок, на которой я отображаю фильтры слева и сбоку, такие как категория, цена, цвет и т.д., и отображаю товары с правой стороны. Я использую ретранслятор для фильтрации данных, т.Е. использую radio buttonlist для фильтрации данных и пытаюсь фильтровать данные в другом ретрансляторе на основе radiobuttonlist в repeater1. это моя страница, я хочу фильтровать продукты на основе полуподкатегории
<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>
Код позади
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();
}
}
Комментарии:
1. Когда
semiSubCat_SelectedIndexChanged
вы запрашиваете, но ничего не привязываете к ретранслятору, вам нужно привязать его обратно к ретранслятору. Также вам необходимо проверить код при загрузке страницы, так как он может сбросить значения вашего повторителя.
Ответ №1:
Попробуйте использовать событие onCheckedChanged
protected void RadioButton_CheckedChanged(object sender, System.EventArgs e)
{
//Filter
}
Комментарии:
1. я попробовал это с именем semisubcategory, пожалуйста, посмотрите