GridView中的“RequiredFieldValidator”FindControl

时间:2014-03-22 21:51:21

标签: datagridview findcontrol

我的意图是网格视图行中的可疑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;
你可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

验证器在验证失败之前是不可见的(即,必填字段为空)。由于您将Validator设置为不可见,因此验证器不会被渲染,这可能是无法找到控件的原因。

请在此处查看答案:asp.net requiredfieldvalidator dont work when visible=false

你试过CausesValidation="false"吗?你还尝试了什么?