用户在DropDown列表中单击不同选项时更改页面内容

时间:2015-09-29 07:14:04

标签: javascript c# asp.net listbox dropdown

我有一个下拉列表。用户在选择不同的值后,我应该从下拉列表中选择用户选择的选项文本,然后从数据库中查找数据并在网页上显示相关内容。如果用户再次更改选项,我应该根据所选的选项文本检索不同的数据,并在网页上显示不同的内容。

我怎么能做到这一点?有人有任何想法让我开始吗?我在网上研究过,但找不到任何有用的东西。

这是我的代码:

ASPX文件:

<asp:Dropdownlist ID="SelectionDropDownList" 
                  runat="server" Width="136px" 
                  EnableViewState="True" 
                  AppendDataBoundItems="true">
</asp:Dropdownlist>

CS档案:

//how the dropdown list is being populated out. Dropdown list is being populated out from what the user has selected from a listbox.
public void BindSomething()
{
    DateTime choosenDate = DateTime.MinValue;
    using (SqlConnection conn = new SqlConnection(dbConn))
    {
        using (SqlCommand cmd = new SqlCommand(spretrieve, conn))
        {
            //Lost to hold the values
            List<DateTime> listCopy = new List<DateTime>();
            DateTime dt;
            string values = String.Join(", ", ListBox1.Items.Cast<ListItem>().Where(i => i.Selected).Select(i => i.Text));
            if (values.Contains("Select All"))
            {
                //Loop through each items in listbox and then add it to list
                foreach (ListItem li in ListBox1.Items)
                {
                    if (DateTime.TryParse(li.Text, out dt))
                    {
                        listCopy.Add(dt);
                    }
                }
            }
            else
            {
                //Loop through each items in listbox and then add it to list
                foreach (ListItem li in ListBox1.Items)
                {
                    //check if item is selected
                    if (li.Selected == true)
                    {
                        //add items to list
                        listCopy.Add(DateTime.Parse(li.Text));
                    }
                }
            }

            //compare and sort so that the latest date comes on top
            listCopy.Sort((x, y) => y.CompareTo(x));
            //clear the items in dropdownlist
            SelectionDropDownList.Items.Clear();
            //set the datasource to dropdownlist
            SelectionDropDownList.DataSource = listCopy;
            //set the dateformatstring in dropdownlist
            SelectionDropDownList.DataTextFormatString = "{0:dd-MMM-yyyy}";
            //Bind the dropdownlist
            SelectionDropDownList.DataBind();
        }

感谢有人可以帮助我,非常感谢!!

1 个答案:

答案 0 :(得分:0)

您可以尝试使用jQuery

$(document).ready(function() {
$('#SelectionDropDownList').change(function(){
  //here you can add code for whatever you want to show   
});
});

我希望这会对你有所帮助。