Asp.net 如何处理';源不包含数据行';错误
请查找下面的代码。如果该行为空,则会出现错误“源代码不包含数据行”。如何处理此问题Asp.net 如何处理';源不包含数据行';错误,asp.net,Asp.net,请查找下面的代码。如果该行为空,则会出现错误“源代码不包含数据行”。如何处理此问题 if (dtTemSec.Rows.Count > 0) { grdStepDetails.DataSource = dtTemSec.AsEnumerable() .Where(x => x.Field<string>("
if (dtTemSec.Rows.Count > 0)
{
grdStepDetails.DataSource = dtTemSec.AsEnumerable()
.Where(x => x.Field<string>("Status") != "D" && x.Field<string>("ID") == "ST" && x.Field<int>("Folder") == folder)
.CopyToDataTable();
grdStepDetails.DataBind();
ClientScript.RegisterStartupScript(GetType(), "Val", "ShowStepPopup();", true);
}
else
{
grdStepDetails.DataSource = null;
grdStepDetails.DataBind();
ClientScript.RegisterStartupScript(GetType(), "Val", "ShowStepPopup();", true);
}
if(dtTemSec.Rows.Count>0)
{
grdStepDetails.DataSource=dtTemSec.AsEnumerable()
其中(x=>x.Field(“状态”)!=“D”和&x.Field(“ID”)==“ST”和&x.Field(“文件夹”)==文件夹)
.CopyToDataTable();
grdStepDetails.DataBind();
RegisterStartupScript(GetType(),“Val”,“ShowStepPopup();”,true);
}
其他的
{
grdStepDetails.DataSource=null;
grdStepDetails.DataBind();
RegisterStartupScript(GetType(),“Val”,“ShowStepPopup();”,true);
}
使用如下的If条件
if(dtTemSec != null)
{
if(dtTemSec.Rows.Count > 0)
{
}
}
编辑:
如果是这种情况,则将条件置于过滤器之后
if(dtTemSec != null)
{
if(dtTemSec.Rows.Count > 0)
{
DataTable Temp = new DataTable();
Temp = dtTemSec.AsEnumerable()
.Where(x => x.Field<string>("Status") != "D" && x.Field<string>("ID") == "ST" && x.Field<int>("Folder") == folder)
.CopyToDataTable();
if(Temp != null)
{
if(Temp.Rows.Count > 0)
{
grdStepDetails.DataSource=Temp;
grdStepDetails.DataBind();
ClientScript.RegisterStartupScript(GetType(), "Val", "ShowStepPopup();", true);
}
}
}
}
if(dtTemSec!=null)
{
如果(dtTemSec.Rows.Count>0)
{
DataTable Temp=新DataTable();
Temp=dtTemSec.AsEnumerable()
其中(x=>x.Field(“状态”)!=“D”和&x.Field(“ID”)==“ST”和&x.Field(“文件夹”)==文件夹)
.CopyToDataTable();
如果(温度!=null)
{
如果(临时行数>0)
{
grdStepDetails.DataSource=Temp;
grdStepDetails.DataBind();
RegisterStartupScript(GetType(),“Val”,“ShowStepPopup();”,true);
}
}
}
}
像这样使用:-
if (dtTemSec.Rows.Count > 0)
{
var table = dtTemSec;
var rows = table.AsEnumerable().Where(x => x.Field<string>("Status") != "D" && x.Field<string>("ID") == "ST" && x.Field<int>("Folder") == folder);
var dt = rows.Any() ? rows.CopyToDataTable() : table.Clone();
grdStepDetails.DataSource = dt;
grdStepDetails.DataBind();
ClientScript.RegisterStartupScript(GetType(), "Val", "ShowStepPopup();", true);
}
else
{
grdStepDetails.DataSource = null;
grdStepDetails.DataBind();
ClientScript.RegisterStartupScript(GetType(), "Val", "ShowStepPopup();", true);
}
if(dtTemSec.Rows.Count>0)
{
var表=dtTemSec;
var rows=table.AsEnumerable()。其中(x=>x.Field(“状态”)!=“D”和&x.Field(“ID”)==“ST”和&x.Field(“文件夹”)==文件夹);
var dt=rows.Any()?rows.CopyToDataTable():table.Clone();
grdStepDetails.DataSource=dt;
grdStepDetails.DataBind();
RegisterStartupScript(GetType(),“Val”,“ShowStepPopup();”,true);
}
其他的
{
grdStepDetails.DataSource=null;
grdStepDetails.DataBind();
RegisterStartupScript(GetType(),“Val”,“ShowStepPopup();”,true);
}
@sai..感谢您的回复。“dtTemSec”始终包含值。根据这些值,我过滤datas.grdStepDetails.DataSource=dtTemSec.AsEnumerable()。其中(x=>x.Field(“Status”)!=“D”和&x.Field(“ID”)==“ST”和&x.Field(“Folder”)==文件夹)。CopyToDataTable(); 如果结果dosnt包含行,它将通过错误