如何判断Datalist是否为空
protected void Page_Load(object sender, EventArgs e)
{
if (DataList1.Items.Count == 0)
{
LabelMessage.Text = "No Records";
LabelMessage.Visible = true;
}
else
{
LabelMessage.Visible = false;
}
}
{
if (DataList1.Items.Count == 0)
{
LabelMessage.Text = "No Records";
LabelMessage.Visible = true;
}
else
{
LabelMessage.Visible = false;
}
}
Protected Sub SqlDataSource1_Selected(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceStatusEventArgs) Handles SqlDataSource1.Selected
If e.AffectedRows = 0 Then
myLabel.Text = "No record found!"
Else
myLabel.Text = ""
End If
End Sub
If e.AffectedRows = 0 Then
myLabel.Text = "No record found!"
Else
myLabel.Text = ""
End If
End Sub
GridView.rows.Count,返回的是GridView当前页面的记录数
objectdatasource的selected事件,:e.AffectedRows返回-1
解决办法:
在ObjectDataSource的Selected事件,取e.ReturnValue的类型,强制转换类型取这个DataSet的行数
protected void ObjectDataSource1_Selected(object sender, ObjectDataSourceStatusEventArgs e)
{
//Response.Write(e.ReturnValue.GetType().ToString());
EventDataSet.T_EventListDataTable dt = new EventDataSet.T_EventListDataTable();
dt = (EventDataSet.T_EventListDataTable)e.ReturnValue;
Label1.Text = dt.Rows.Count.ToString();
}
运行的时候:
1、注释蓝色和灰色部分,用红色部分取e.ReturnValue的类型
2、注释红色,修改蓝色部分,设置类型转换
e.ReturnValue返回的对象肯定是select的全部,一个DataSet,不过要对应你自己的在数据集里设置的Adapter