从 RowDatBound 方法访问 Gridview 中的 UserControl
Access a UserControl in a Gridview from the RowDatBound method
我有一个 gridview,在项目模板中我有一个用户控件,它在回发时失去了它的价值。我希望能够从后面的 c# 代码中的 RowDataBound 方法访问控件并重新分配 CandidateID 值
网格视图控件
<asp:TemplateField>
<ItemTemplate>
<Controls:LikeButton ID="CandidateLikeButton" runat="server" LikeType="Candidate"
LikedObjectID='<%# Bind("CandidateID") %>' />
</ItemTemplate>
</asp:TemplateField>
我该怎么做?
您可以像访问任何其他控件一样使用 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;
}
}
我有一个 gridview,在项目模板中我有一个用户控件,它在回发时失去了它的价值。我希望能够从后面的 c# 代码中的 RowDataBound 方法访问控件并重新分配 CandidateID 值
网格视图控件
<asp:TemplateField>
<ItemTemplate>
<Controls:LikeButton ID="CandidateLikeButton" runat="server" LikeType="Candidate"
LikedObjectID='<%# Bind("CandidateID") %>' />
</ItemTemplate>
</asp:TemplateField>
我该怎么做?
您可以像访问任何其他控件一样使用 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;
}
}