Javascript 如何在asp.net中将数据异步绑定到Listbox?

Javascript 如何在asp.net中将数据异步绑定到Listbox?,javascript,jquery,asp.net,performance,listbox,Javascript,Jquery,Asp.net,Performance,Listbox,目前我有大约2000个建筑数据正在加载到列表框中,由于页面加载缓慢,我只想加载,即在页面加载上加载10个建筑,这样页面可以加载得更快,其他UI控件可以加载得更快 尝试: 为此,我在session中添加了grid的结果,因此当用户单击grid中的特定链接时,它不会点击SP/database,也不会从session中获取结果,但没有多大帮助。page 装载仍然很慢 那么,有没有其他方法可以更快地加载列表框? 添加代码 代码.aspx <asp:ListBox ID="drpBuilding"

目前我有大约2000个建筑数据正在加载到
列表框中,由于页面加载缓慢,我只想加载,即在
页面加载上加载10个建筑,这样页面可以加载得更快,其他
UI
控件可以加载得更快

尝试:

为此,我在
session
中添加了grid的结果,因此当用户单击
grid
中的特定链接时,它不会点击
SP/database
,也不会从
session
中获取结果,但没有多大帮助。page 装载仍然很慢

那么,有没有其他方法可以更快地加载
列表框
? 添加代码 代码
.aspx

<asp:ListBox ID="drpBuilding" runat="server" CssClass="formcontrol"SelectionMode="Multiple"></asp:ListBox>

c#代码

受保护的无效页面\u加载(对象发送方,System.EventArgs e)
{
如果(!Page.IsPostBack){
this.drpBuilding.Items.Clear();
列表=默认值(列表);
if(会话[“buildinglist”]==null){
lstBuildings=this.mBuildingBLL.Get_ContactSiteBuildingsListLoad(p_ContactID:UserWrapper.GetCurrentUser().ContactID,p_ShowInactive:false);//SP方法
会话[“buildinglist”]=LST建筑物;
}否则{
lstBuildings=Session[“buildinglist”];//未命中从SP获取值的SP/DB
}
如果(lstBuildings.Count>0){
this.drpBuilding.Enabled=true;
this.drpBuilding.DataSource=lstBuildings;
}否则{
this.drpBuilding.Enabled=false;
}
this.drpBuilding.DataTextField=“Building”;
this.drpBuilding.DataValueField=“BuildingID”;
this.drpBuilding.DataBind();
}
}

你能澄清两件事吗?1) Listbox在开始时加载了10条记录,对吗?2) 当Listbox拥有10条记录时,你的网格中有什么?1.是的2.网格将只在搜索按钮单击时加载任何内容显示你的代码,我不完全理解。完成添加现有代码@MAdeelKhalidgot it now@Madeelkhalid你能澄清两件事吗?1) Listbox在开始时加载了10条记录,对吗?2) 当Listbox拥有10条记录时,你的网格中有什么?1.是的2.网格将只在搜索按钮单击时加载任何内容显示你的代码,我不完全理解。完成添加现有代码@MAdeelKhalidgot it now@马迪尔哈利德
 protected void Page_Load(object sender, System.EventArgs e)
    {
        if (!Page.IsPostBack) {
            this.drpBuilding.Items.Clear();
    List<PResponse.BLL.Building> lstBuildings = default(List<PResponse.BLL.Building>);
    if (Session["buildinglist"] == null) {
    lstBuildings = this.mBuildingBLL.Get_ContactSiteBuildingsListLoad(p_ContactID: UserWrapper.GetCurrentUser().ContactID, p_ShowInactive: false);//SP method
                Session["buildinglist"] = lstBuildings;
            } else {
                lstBuildings = Session["buildinglist"]; //not hitting the SP/DB getting value from SP
            }
            if (lstBuildings.Count > 0) {
                this.drpBuilding.Enabled = true;
                this.drpBuilding.DataSource = lstBuildings;

            } else {
                this.drpBuilding.Enabled = false;
            }
            this.drpBuilding.DataTextField = "Building";
            this.drpBuilding.DataValueField = "BuildingID";
            this.drpBuilding.DataBind();
        }
    }