在复选框事件 CheckedChanged 中查找 gridview 内的文本框控件
Find texbox control inside a gridview in the checkbox event CheckedChanged
protected void chkBoxAplicaSiglasEspEdit_CheckedChanged(object sender, EventArgs e)
{
int i;
int x = gvTipoInforme.Rows.Count;
CheckBox chkBoxAplicaSiglasEspEdit = (CheckBox)sender;
TextBox txtSiglas = (TextBox)this.gvTipoInforme.Rows[row].FindControl("txtSiglas");
for (i = 0; i < x; i++)
{
if (chkBoxAplicaSiglasEspEdit.Checked)
{
txtSiglas.Enabled = true;
}
else
{
txtSiglas.Text = "";
txtSiglas.Enabled = false;
}
}
}
我正在尝试启用或禁用网格视图内的文本框。当我单击 "edit" link 时,gridview 的列中会显示一个复选框,然后我单击该复选框并触发 CheckedChanged 事件,但我总是得到 "txtSiglas" null。
我找到了解决办法:
TextBox txtSiglas = (TextBox)chkBoxAplicaSiglasEspEdit.Parent.FindControl("txtSiglas");
protected void chkBoxAplicaSiglasEspEdit_CheckedChanged(object sender, EventArgs e)
{
int i;
int x = gvTipoInforme.Rows.Count;
CheckBox chkBoxAplicaSiglasEspEdit = (CheckBox)sender;
TextBox txtSiglas = (TextBox)this.gvTipoInforme.Rows[row].FindControl("txtSiglas");
for (i = 0; i < x; i++)
{
if (chkBoxAplicaSiglasEspEdit.Checked)
{
txtSiglas.Enabled = true;
}
else
{
txtSiglas.Text = "";
txtSiglas.Enabled = false;
}
}
}
我正在尝试启用或禁用网格视图内的文本框。当我单击 "edit" link 时,gridview 的列中会显示一个复选框,然后我单击该复选框并触发 CheckedChanged 事件,但我总是得到 "txtSiglas" null。
我找到了解决办法:
TextBox txtSiglas = (TextBox)chkBoxAplicaSiglasEspEdit.Parent.FindControl("txtSiglas");