我有一个带有下拉列表的网页,当您选择产品时,页面会刷新并显示新信息。我想做的就是将查询字符串传递到页面中,这样我就可以通过URL来打开页面,而不必单击下拉列表项。
我不确定如何在页面加载中执行此操作。我的页面默认为默认选项,但是我希望其他下拉列表项能够通过URL访问,因此我需要知道如何向其传递查询字符串。
private void BindDropDownList()
{
{
try
{
string[] productTexts;
string[] productValues;
BizManager biz = new BizManager();
biz.GetProductSeriesList(out productTexts, out productValues);
DDLProduct.Items.Clear();
int x = 0;
foreach (string s in productTexts)
{
ListItem li = new ListItem(s, productValues[x]);
x++;
DDLProduct.Items.Add((li));
}
}
catch (Exception ex)
{
ErrMsg = App.HandleError(MethodBase.GetCurrentMethod(), ex, string.Empty);
}
}
}
在这里,我从Web配置中的一个键调用参数,但是我需要我的URL看起来像这样
https://apps.co.uk/PackingStatsShiftOverview/Default.aspx?Product=G120C
或
https://apps.co.uk/PackingStatsShiftOverview/Default.aspx?Product=PM240-2
或
https://apps.co.uk/PackingStatsShiftOverview
您使用以下命令访问查询字符串值
Request.QueryString [“产品”]
您需要处理它不存在并立即执行操作,否则,您的下拉列表需要默认为QueryString值。
答案 0 :(得分:0)
您可以执行以下操作。检查QueryString是否存在,如果存在,则检查DropDownList值是否匹配。找到后,设置正确的DropDownList值。
if (Request.QueryString["Product"] != null)
{
string product = Request.QueryString["Product"].ToString();
if (DropDownList1.Items.Cast<ListItem>().Any(x => x.Value == product))
{
DropDownList1.SelectedValue = product;
}
}