我有一个asp.net页面,其中包含以下表单字段:
我的问题是可能存在从下拉列表2的数据源没有返回任何内容的情况,我想在下拉列表2中显示一个项目“No Data found”并同时隐藏放置在下拉列表2下方的面板
有人可以告诉我这种情况是如何处理的。
感谢帮助。
谢谢, 雅格亚
答案 0 :(得分:0)
将以下代码添加到dropdownlist1选定的索引更改事件中。
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
// Run this code when your sql datasource 2 does not return record, you can also place an IfElse condition
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Value");
DataRow row = dt.NewRow();
row[0] = "-1";
row[1] = "Data Not Found";
dt.Rows.Add(row);
DropDownList2.DataSource = dt;
DropDownList2.DataTextField = "Value";
DropDownList2.DataValueField = "ID";
DropDownList2.DataBind();
}
更新回答:(试试这个) 您也可以将它放在sqldatasource2选择事件中。
protected void SqlDataSource2_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
if (e.Arguments.TotalRowCount == 0)
{
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Value");
DataRow row = dt.NewRow();
row[0] = "-1";
row[1] = "Data Not Found";
dt.Rows.Add(row);
DropDownList2.DataSource = dt;
DropDownList2.DataTextField = "Value";
DropDownList2.DataValueField = "ID";
DropDownList2.DataBind();
}
}
上面的代码会在你的下拉列表中添加一个Item,其中包含Text =“Data Not Found”