1

グリッドビューのテンプレート フィールド内のオブジェクト (ハイパーリンクまたはボタン) にアクセスしたいと考えています。どうすればいいですか?

4

2 に答える 2

1

データをそれにバインドしていると仮定すると、RowDataBoundイベント内でそれを行うことを検討する必要があります。

テンプレートフィールド内でコントロールを取得する方法の例を次に示します。

.aspx:

<asp:GridView ID="GridView1" Runat="server" 
    OnRowDataBound="GridView1_RowDataBound">
    <Columns>
        <asp:TemplateField HeaderText="Template Field">
            <ItemTemplate>
                <asp:Button ID="btnTest" Runat="server" /> 
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

コードビハインド:

void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        Button btnTest = (Button)e.Row.FindControl("btnTest");
        btnTest.Text = "I'm in a Template Field";
    }
}
于 2012-04-20T18:29:17.687 に答える
0

RowDataBoundテンプレートコントロールのイベントで使用するか、次のようにクリックすることができます

TextBox txtTemp= (TextBox )e.Row[e.RowIndex].FindControl("yourControlName");
string someText=txtTemp.Text;
于 2012-04-20T18:36:55.187 に答える