public string CheckCbx(GridView GVData, string CheckBoxName, string LabID)
{
string str = "";
for(int i = 0; i < GVData.Rows.Count; i++)
{
GridViewRow row = GVData.Rows[i];
CheckBox ck = (CheckBox)row.FindControl(CheckBoxName);
Label lb = (Label)row.FindControl(LabID);
if ( ck.Checked == true )
{
if (str == "")
{
str = lb.Text.ToString();
}
else
{
str = str + "," + lb.Text.ToString();
}
}
}
return str;
}
今天遇到一个很奇怪的问题,Label总是获取不到值,哪哪没问题就是获取不到,后来才发现在Page_Load第一次加载函数里竟然忘记加if(!Page.IsPostBack),如果没有页面会一直刷新,怪不得会取不到值。小白的我还是太粗心大意了
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
...
}
}
public void AAA(object sender, EventArgs e)
{
Class1 class1 = new Class1();
string CheckStr = class1.CheckCbx(this.GVData,"CheckSelect", "LabVisible");
string[] CheckStrArray = CheckStr.Split(',');
if (CheckStr!= "")
{
...
}
else
{
...
}
}