从RowDatBound方法访问Gridview中的UserControl

时间:2018-01-25 10:59:17

标签: c# asp.net gridview user-controls rowdatabound

我有一个gridview,在项目模板中我有一个usercontrol,它在回发时失去了它的价值。我希望能够在后面的c#代码中从我的RowDataBound方法访问控件并重新分配CandidateID值

GridView控件

<asp:TemplateField>
    <ItemTemplate>

        <Controls:LikeButton ID="CandidateLikeButton" runat="server" LikeType="Candidate"
           LikedObjectID='<%# Bind("CandidateID") %>' />

    </ItemTemplate>
</asp:TemplateField>

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以像任何其他控件一样使用FindControl访问它并将其转换回它的类型。

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        LikeButton LB = e.Row.FindControl("CandidateLikeButton") as LikeButton;

        LB.CandidateID = 1234;
    }
}