Gridview页脚缺省值缺失

时间:2016-02-04 07:06:25

标签: c# asp.net gridview

我有一个可以按日期搜索的gridview。 在gridview中,如果日期的gridview为空,我手动添加页脚。 它工作正常,然后首先加载页面。

问题是: 使用数据加载gridview时,页脚显示默认数据。之后,选择没有数据的日期,缺少默认值。如果我选择另一个没有数据的日期,则页脚的默认值会再次出现。

我放了断点并且它经历了以下函数,该值不为null但是它没有显示在页脚标签上。

54 65 73 74 20 26 20 67 65 68 c3 b6 72 74

Expected Behavior

Wrong behavior

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();
        }

}

1 个答案:

答案 0 :(得分:0)

尝试在页面加载后清除日期文本框。