我有两个下拉列表,显示最低和最高价格。
我想使用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");
}
答案 0 :(得分:0)
你非常接近。
protected void btnsubmit_Click(object sender, EventArgs e)
{
Response.Redirect(String.Format("products.aspx?min={0}&max={1}",
dropmin.SelectedValue, dropmax.SelectedValue);
}
然后在页面加载事件中,从查询字符串中读取最小值和最大值。