我有这样的下拉列表:
<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默认点击的值必须是间谍。
我该怎么做?
答案 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);