在转发器控制中应用过滤器

编程入门 行业动态 更新时间:2024-10-10 00:24:53
本文介绍了在转发器控制中应用过滤器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有转发器控制,我从数据库中获取记录,所以我有多个记录,我想通过使用下拉列表过滤我的结果。我正在使用ajax。如果我选择第一个下拉菜单然后根据第一次和第二次下载过滤结果,当我选择第二个下拉菜单时,它仅根据秒获取结果,但我想如果已经选择了一个下拉列表,那么在选择第二个下拉列表时它应该从之前的下拉结果中过滤。怎么做... 我的搜索下拉列表在母版页中,其中只有类别下拉列表是必须选择的,结果显示在result.aspx页面中,我的过滤器下拉列表也在结果页面中。 母版页代码:

I have repeater control and i am fetching records from database, so i have number of records and i want to filter my result by using dropdowns. I am using ajax. If i select first dropdown then it filter result according to first and again when i select second dropdown then it fetch result according to second only, but i want if one dropdown is already selected then on selecting second dropdown it should filter from previous dropdown result. How to do it... My search dropdowns are in master page and among these only category dropdown is compulsory to select and result shows in result.aspx page and also my filter dropdowns are in result page. master page code:

<asp:DropDownList ID="dd_state" runat="server" CssClass="dropdownstyle2" > </asp:DropDownList> <asp:TextBox ID="txt_pincode" runat="server" CssClass="dropdownstyle3" value="Pincode" Text="" onKeyUp="numericFilter(this);" maxlength="6" onFocus="if(this.value==this.defaultValue) this.value=''; " onBlur="if(this.value=='') this.value=this.defaultValue;"></asp:TextBox> <asp:DropDownList ID="dd_category" runat="server" CssClass="dropdownstyle4" AutoPostBack="True" onselectedindexchanged="dd_category_SelectedIndexChanged"> </asp:DropDownList> <asp:DropDownList ID="dd_subcategory" runat="server" CssClass="dropdownstyle5" > </asp:DropDownList> <asp:Button ID="but_go" runat="server" Text="Go" CssClass="gobuttonstyle" OnClientClick="return validate();" onclick="but_go_Click"/>

protected void but_go_Click(object sender, EventArgs e) { Session["country"] = 1; Session["state"] = dd_state.SelectedValue; Session["pincode"] = txt_pincode.Text; Session["category"] = dd_category.SelectedValue; Session["subcategory"] = dd_subcategory.SelectedValue; Response.Redirect("Results.aspx"); }

Result.aspx.cs

Result.aspx.cs

protected void BindRepeaterData() { con.Open(); SqlCommand cmd = new SqlCommand("sps_searchresult", con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@country", 1); cmd.Parameters.AddWithValue("@state", state); cmd.Parameters.AddWithValue("@pincode", pincode); cmd.Parameters.AddWithValue("@category", category); cmd.Parameters.AddWithValue("@subcategory", subcategory); DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(ds); rep_results.DataSource = ds; rep_results.DataBind(); con.Close(); }

ALTER PROCEDURE [dbo].[sps_searchresult] @country nvarchar(10), @state nvarchar(20), @pincode nvarchar(10), @category nvarchar(10), @subcategory nvarchar(20) AS BEGIN if(@state='Select State' and @pincode='Pincode' and @subcategory='Select Sub-Category') begin select r.*, s.s_name, CASE iam WHEN 1 THEN 'Professional/Business' ELSE 'Individual' End as iamdetail, substring(description,1,200)+'...' AS shortdescription, substring(title,1,40) AS shorttitle from tbl_adregister r INNER JOIN tbl_state s ON r.state = s.s_id where country=@country and category=@category end if(@state='Select State' and @pincode='Pincode' and @subcategory!='Select Sub-Category') begin select r.*, s.s_name, CASE iam WHEN 1 THEN 'Professional/Business' ELSE 'Individual' End as iamdetail, substring(description,1,200)+'...' AS shortdescription, substring(title,1,40) AS shorttitle from tbl_adregister r INNER JOIN tbl_state s ON r.state = s.s_id where country=@country and category=@category and subcategory=@subcategory end if(@state='Select State' and @pincode!='Pincode' and @subcategory='Select Sub-Category') begin select r.*, s.s_name, CASE iam WHEN 1 THEN 'Professional/Business' ELSE 'Individual' End as iamdetail, substring(description,1,200)+'...' AS shortdescription, substring(title,1,40) AS shorttitle from tbl_adregister r INNER JOIN tbl_state s ON r.state = s.s_id where country=@country and category=@category and pincode=@pincode end if(@state='Select State' and @pincode!='Pincode' and @subcategory!='Select Sub-Category') begin select r.*, s.s_name, CASE iam WHEN 1 THEN 'Professional/Business' ELSE 'Individual' End as iamdetail, substring(description,1,200)+'...' AS shortdescription, substring(title,1,40) AS shorttitle from tbl_adregister r INNER JOIN tbl_state s ON r.state = s.s_id where country=@country and category=@category and pincode=@pincode and subcategory=@subcategory end if(@state!='Select State' and @pincode='Pincode' and @subcategory='Select Sub-Category') begin select r.*, s.s_name, CASE iam WHEN 1 THEN 'Professional/Business' ELSE 'Individual' End as iamdetail, substring(description,1,200)+'...' AS shortdescription, substring(title,1,40) AS shorttitle from tbl_adregister r INNER JOIN tbl_state s ON r.state = s.s_id where country=@country and category=@category and state=@state end if(@state!='Select State' and @pincode='Pincode' and @subcategory!='Select Sub-Category') begin select r.*, s.s_name, CASE iam WHEN 1 THEN 'Professional/Business' ELSE 'Individual' End as iamdetail, substring(description,1,200)+'...' AS shortdescription, substring(title,1,40) AS shorttitle from tbl_adregister r INNER JOIN tbl_state s ON r.state = s.s_id where country=@country and category=@category and state=@state and subcategory=@subcategory end if(@state!='Select State' and @pincode!='Pincode' and @subcategory='Select Sub-Category') begin select r.*, s.s_name, CASE iam WHEN 1 THEN 'Professional/Business' ELSE 'Individual' End as iamdetail, substring(description,1,200)+'...' AS shortdescription, substring(title,1,40) AS shorttitle from tbl_adregister r INNER JOIN tbl_state s ON r.state = s.s_id where country=@country and category=@category and state=@state and pincode=@pincode end if(@state!='Select State' and @pincode!='Pincode' and @subcategory!='Select Sub-Category') begin select r.*, s.s_name, CASE iam WHEN 1 THEN 'Professional/Business' ELSE 'Individual' End as iamdetail, substring(description,1,200)+'...' AS shortdescription, substring(title,1,40) AS shorttitle from tbl_adregister r INNER JOIN tbl_state s ON r.state = s.s_id where country=@country and category=@category and state=@state and pincode=@pincode and subcategory=@subcategory end END

过滤器下拉列表在结果页面:

filter dropdowns at result page:

<asp:DropDownList ID="dd_state" runat="server" AutoPostBack="True" onselectedindexchanged="dd_state_SelectedIndexChanged" ></asp:DropDownList> <br/> <asp:DropDownList ID="dd_category" runat="server" AutoPostBack="True" onselectedindexchanged="dd_category_SelectedIndexChanged"></asp:DropDownList> <br/> <asp:DropDownList ID="dd_subcategory" runat="server" AutoPostBack="True" onselectedindexchanged="dd_subcategory_SelectedIndexChanged"></asp:DropDownList>

推荐答案

这并不复杂,你几乎是正确的。现在这个想法, 像你一样搜索State和Pin Code,现在可以有两种情况: 1.更新第一个结果而不是更新结果第一个+第二个下拉 2.让用户选择第一个和第二个,然后点击搜索以更新结果。 您需要将两个参数传递给SQL Query(每个下拉列表一个)。此外,您还可以添加检查存储过程以检查是否提供参数的值,以便进行单次下拉搜索。 如果想法,请告诉我你不清楚。 This is not that complex and you are almost in right direct. Now here is the idea, Like you to search for State and than Pin Code, Now there can be 2 situations: 1. Update result for first and than update for First + second drop down 2. Let user to select First and Than 2nd and than click search to update result. For both the case you need t pass the two parameters to SQL Query(one for each drop-down). Also you can add check in your stored procedure to check if value for the parameter is supplied or not in case of single Drop-down search. Let me know if idea isn't clear to you.

更多推荐

在转发器控制中应用过滤器

本文发布于:2023-11-17 11:12:51,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1609828.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:转发器   滤器   用过   中应

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!