我有一个可以按日期搜索的gridview。 在gridview中,如果日期的gridview为空,我手动添加页脚。 它工作正常,然后首先加载页面。
问题是: 使用数据加载gridview时,页脚显示默认数据。之后,选择没有数据的日期,缺少默认值。如果我选择另一个没有数据的日期,则页脚的默认值会再次出现。
我放了断点并且它经历了以下函数,该值不为null但是它没有显示在页脚标签上。
54 65 73 74 20 26 20 67 65 68 c3 b6 72 74
Gridview数据库:
while (Dr.Read())
{
AttendbyFooter.Text = Dr.GetValue(1).ToString();
DepartmentFooter.Text = Dr.GetValue(4).ToString();
}
生成页脚(来自网站的副本)
Label AttendbyFooter = GridView1.FooterRow.FindControl("AttendbyFooter") as Label;
//if the footer is null, do nothing. if the footer is not null, continue for other value
if (AttendbyFooter == null)
{
}
else
{
//set default name
AttendbyFooter.Attributes.Add("readonly", "readonly");
Label DepartmentFooter = GridView1.FooterRow.FindControl("DepartmentFooter") as Label;
DepartmentFooter.Attributes.Add("readonly", "readonly");
//create a connection to mssql server
var Cn = new System.Data.SqlClient.SqlConnection();
Cn.ConnectionString = ConfigurationManager.ConnectionStrings["CMOSConnectionString"].ConnectionString;
Cn.Open();
//create a command object from the connection
var Cm = Cn.CreateCommand();
//Check database using username(id number)
Cm.CommandText = string.Format(@"Select * From Employee WHERE PassNumber='{0}'", User.Identity.Name);
var Dr = Cm.ExecuteReader();
while (Dr.Read())
{
//Name
AttendbyFooter.Text = Dr.GetValue(1).ToString();
DepartmentFooter.Text = Dr.GetValue(4).ToString();
}
Cn.Close();
}
}
答案 0 :(得分:0)
尝试在页面加载后清除日期文本框。