如何将dropdownlist值与querystring链接

时间:2014-11-25 07:23:55

标签: c# asp.net csv

我有这样的下拉列表:

<asp:DropDownList ID="DropDownList1" runat="server"
    Height="20px" Width="1650px" AutoPostBack="True">
     <asp:ListItem>spy</asp:ListItem>
     <asp:ListItem>uk</asp:ListItem>
     <asp:ListItem>it</asp:ListItem>
     <asp:ListItem>us</asp:ListItem>
     <asp:ListItem>fr</asp:ListItem>
     <asp:ListItem>tr</asp:ListItem>
     <asp:ListItem>jp</asp:ListItem>
</asp:DropDownList>

并拥有数据的csv文件(如spy-atma.csv)。而datalist显示了一些数据。

以下是代码方:

protected void Page_Load(object sender, EventArgs e)
{   
    var csv2 = DropDownList1.SelectedValue + "-atma" + ".csv";
    SqlDataSource2.SelectCommand = String.Format("SELECT * FROM [{0}]", csv2);
    DataList1.DataBind();

  }

我需要做这样的查询:

 atma.aspx?=spy
 atma.aspx?=uk
 ...

绑定下拉列表选择的值。当我点击atma.aspx?= spy时,dropdownlist默认点击的值必须是间谍。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

首先,你的下拉列表应该是:

<asp:DropDownList ID="DropDownList1" runat="server"
    Height="20px" Width="1650px" AutoPostBack="True">
     <asp:ListItem Text="spy" Value="spy"></asp:ListItem>
     <asp:ListItem Text="uk" Value="uk"></asp:ListItem>
     <asp:ListItem Text="it" Value="it"></asp:ListItem>
     <asp:ListItem Text="us" Value="us"></asp:ListItem>
     <asp:ListItem Text="fr" Value="fr"></asp:ListItem>
     <asp:ListItem Text="tr" Value="tr"></asp:ListItem>
     <asp:ListItem Text="jp" Value="jp"></asp:ListItem>
</asp:DropDownList>

你可以获得QueryString Value并以这种方式选择:

if(!String.IsNullOrWhiteSpace(Request.QueryString["NameYouHaveSet"]))
    DropDownList1.SelectedValue = Request.QueryString["NameYouHaveSet"];

或使用Index,因为它可以写在第一个索引上:

NameValueCollection n = Request.QueryString;
if(!String.IsNullOrWhiteSpace(n.Get(0)))
        DropDownList1.SelectesValue = n.Get(0);

请参阅this example on this article