方法中的listbox参数

时间:2009-10-14 12:58:23

标签: c# asp.net

如何将列表框数据源传递给asp.net类方法?

以下是调用该方法的方法:

DataSet DS4DDL1 = mypj.searchPJ(Listbox data???,searchText);

有可能吗?请修改上面的行以在此方法中添加listbox数据源。

2 个答案:

答案 0 :(得分:0)

您应该使用ListItemCollection类型的Items属性访问列表框“数据源”。你的方法看起来像这样:

DataSet DS4DDL1 = mypj.searchPJ(listBox.Items,searchText);

答案 1 :(得分:0)

方法: public DataSet searchPJ(ListBox ProjList ???,String ProjectName)     {         DataSet DSToReturn = new DataSet();         //基于NAme

列过滤的逻辑
    DataTable results = (from d in ((DataSet)_MyDataset).Tables["Records"].AsEnumerable()
                         orderby d.Field<string>("Name") ascending
                         where d["Name"].ToString().Contains(ProjectName)
                         select d).CopyToDataTable();
            DSToReturn.Tables.Add(results);
    return DSToReturn;
}

通话方式: protected void ProjDDL1_SelectedIndexChanged(object sender,EventArgs e)     {         String ProjectDDL1 = ProjDDL1.SelectedItem.Text;         ClientPJ mypj = new ClientPJ((DataSet)(Session [“Client_ProjectDS”]));         // DataSet DS4DDL1 = mypj.searchPJ(“化学”);         ListBox listBox = new ListBox();         DataSet DS4DDL1 = mypj.searchPJ(listBox,“chemistry”); //不起作用         ProjList.Items.Clear();         foreach(DataRow dr in DS4DDL1.Tables [0] .Rows)         {             //仅添加具有有效UID的项目             if(dr [0] .ToString()。Trim()。Length&gt; 0)                 //使用UID作为项目值                 ProjList.Items.Add(new ListItem(string.Format(“{0}”,dr [0] .ToString())));         }

}