我的意图是网格视图行中的可疑RequiredFieldValidator。要使用FindControl方法找到此验证器。我写了这段代码:
protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "EditRow")
{
int rowIndex = ((GridViewRow)((LinkButton)e.CommandSource).NamingContainer).RowIndex;
GridView2.EditIndex = rowIndex;
RequiredFieldValidator field46 = ((RequiredFieldValidator)GridView2.Rows[rowIndex].FindControl("RequiredFieldValidator46"));
field46.Visible = false;
ZaladujGridView();
}
}
但是当我按下网格视图上的“编辑”链接按钮时,我在这一行收到错误“对象引用未设置为对象的实例”:
field46.Visible = false;
你可以帮帮我吗?
答案 0 :(得分:0)
验证器在验证失败之前是不可见的(即,必填字段为空)。由于您将Validator设置为不可见,因此验证器不会被渲染,这可能是无法找到控件的原因。
请在此处查看答案:asp.net requiredfieldvalidator dont work when visible=false
你试过CausesValidation="false"
吗?你还尝试了什么?