我正在尝试为我们网站上的工作列表做一个工作过滤器。作业类型的过滤器包含在 UpdatePanel 中,应用过滤器的按钮重定向回同一页面。
这是因为我将使用 XSLT 中的 umbraco.library:RequestQueryString 来填充作业列表。
但是,查询字符串过滤器值似乎没有选择 RadioButtonList。例如:
页面加载,但没有任何反应,因为 vt 为空:
protected void Page_Load(object sender, EventArgs e)
{
string vt = Request.QueryString["vt"];
if (vt != null)
{
foreach (ListItem li in rblVacancyType.Items)
{
if (li.Value == vt)
{
li.Selected = true;
}
}
}
}
<asp:UpdatePanel ID="upSearchFilters" runat="server">
<ContentTemplate>
<p>
<asp:RadioButtonList ID="rblVacancyType" runat="server">
<asp:ListItem Text="All" Value="all"></asp:ListItem>
<asp:ListItem Text="Permanent" Value="permanent"></asp:ListItem>
<asp:ListItem Text="Temporary" Value="temporary"></asp:ListItem>
</asp:RadioButtonList>
</p>
</ContentTemplate>
</asp:UpdatePanel>
这是按钮:
<asp:ImageButton ID="ibFilters" ImageUrl="~/images/buttons/filter-button.png" OnClick="ibApplyFilters_Click" runat="server" />
这是程序:
protected void ibApplyFilters_Click(object sender, EventArgs e)
{
Response.Redirect("/careers/join-us/?filters=true&vt=" + rblVacancyType.SelectedValue.ToString());
}
然而,当页面第一次重定向时,没有选择任何内容,我单击永久,永久被选中。如果我然后选择“全部”或“临时”,则选择不会改变。
有任何想法吗?