如何从超大数据表填充下拉列表?

use*_*402 0 c# asp.net ajax performance drop-down-menu

我有来自数据库的表这个表在我的asp页面中有400000行我的下拉列表(ddlPlaintiffName)从这个方法填充


 private void FillPlaintiff()
    {

        //declare connection by pass connection string from web.config
        SqlConnection sqlcon = new SqlConnection
            (ConfigurationManager.ConnectionStrings["SystemConn"].ConnectionString);
        //declare sql statment  as astring variable

        SqlCommand sqlcom = new SqlCommand();
        sqlcom.Connection = sqlcon;
        sqlcom.CommandType = CommandType.StoredProcedure;
        sqlcom.CommandText = "proc_SelectPlaintiff";



        DataTable ds = new DataTable();
        //fill data set with data adabter that contain data from database
     //   sad.Fill(ds);
        sqlcon.Open();
         SqlDataAdapter sad = new SqlDataAdapter(sqlcom);

         sad.Fill(ds);

        ddlPlaintiffName.DataSource = ds;
        ddlPlaintiffName.DataBind();
        ddlPlaintiffName.Items.Insert(0, "--select  --");
        sqlcon.Close();

    }


但每次回发我的负载都非常慢,我怎么能避免这种情况

Jom*_*ohn 5

首先,你不应该在下拉列表中使用这么大的表.由于用户无法轻易找到价值,因此对他没用.你应该提供某种搜索,并根据搜索条件,虽然ajax,数据应显示在下拉列表中.搜索应该仅在用户输入三个或更多字符时启动,否则基于ajax的查询也会变慢.

请参阅以下页面以获得一个想法

jQuery Searchable DropDown插件演示