Показать данные в списке данных, используя RangeExpression
У меня есть два выпадающих списка, которые показывают минимальную и максимальную цену.
Я хочу показать все диапазоны продуктов между значениями этих двух выпадающих списков на другой странице, используя RangeExpression.
Оба раскрывающихся списка находятся на главной странице. Теперь, когда я нажимаю кнопку "Отправить", все товары должны отображаться на другой странице в этом ценовом диапазоне.
И что же мне делать? Что я должен использовать в качестве строки запроса, которую я передам ей?
Я сделал это:
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="linqextenderDataContext" EntityTypeName=""
TableName="Products" Where="Category == @Category">
<WhereParameters>
<asp:ControlParameter ControlID="dropcategory" Name="Category"
PropertyName="SelectedValue" Type="String" />
</WhereParameters>
</asp:LinqDataSource>
<asp:QueryExtender ID="QueryExtender1" runat="server"
TargetControlID="LinqDataSource1">
<asp:RangeExpression DataField="Price" MinType="Inclusive"
MaxType="Inclusive">
<asp:ControlParameter ControlID="dropmin" Type="Int32"
PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="dropmax" Type="Int32"
PropertyName="SelectedValue"/>
</asp:RangeExpression>
</asp:QueryExtender>
<asp:Button ID="btnsubmit" runat="server" Text="Submit"
style="margin-left:50px" onclick="btnsubmit_Click"/>
Теперь я хочу показать все данные на другой странице, поэтому, когда я перенаправляю их на другую страницу, что я должен передать?
protected void btnsubmit_Click(object sender, EventArgs e)
{
Response.Redirect("products.aspx");
}
1 ответ
Вы довольно близко
protected void btnsubmit_Click(object sender, EventArgs e)
{
Response.Redirect(String.Format("products.aspx?min={0}&max={1}",
dropmin.SelectedValue, dropmax.SelectedValue);
}
Затем на событии загрузки вашей страницы прочитайте min и max из строки запроса.