如何将列表框数据源传递给asp.net类方法?
以下是调用该方法的方法:
DataSet DS4DDL1 = mypj.searchPJ(Listbox data???,searchText);
有可能吗?请修改上面的行以在此方法中添加listbox数据源。
答案 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()))); }
}