如果添加了额外的标题行,则回发时DropDownList为空

时间:2017-05-16 14:18:48

标签: .net gridview webforms postback dropdown

我有一个GridView,我在每个回发期间添加了一个额外的标题行。 为了更好地理解,我展示了代码。

protected void Page_Load(object sender, EventArgs e)
{
    AddHeaderRow(); //everything fine if removed
}

private void AddHeaderRow()
{
    GridViewRow row = new GridViewRow(0, -1, DataControlRowType.Header, DataControlRowState.Normal);

    TableCell header = new TableHeaderCell();
    header.ColumnSpan = 1;
    row.Cells.Add(header);

    ((Table)grid.Controls[0]).Rows.AddAt(0, row);
}

我在网格的页脚行中也有一个DropDownList,我在验证过程中使用它。

protected void Validator_Validate(object source, ServerValidateEventArgs args)
{
    GridViewRow row = (GridViewRow)(source as Control).Parent.Parent;
    var drop = (DropDownList)row.FindControl("drop"); //with additional header row, contains no items!
}

添加标题行时,会找到DropDownList,但是为空,以便验证崩溃。如果我删除该代码,它的工作原理。有没有办法解决或避免这个问题?

0 个答案:

没有答案