0

フォームにグリッドビューがあります。私はRowDataBoundグリッドへのイベントを扱っています。これで、グリッドビューの列内にテンプレート フィールドができました。テンプレート フィールド内でラベルが取得されました。RowDataBound実行時にイベントでこのラベルへのリンクを追加したいのですが.System.Web.UI.WebControls.LinkButton 、リンク ボタンの代わりに表示されています。グリッド ビューにラベル テキスト付きのリンク ボタンを追加するにはどうすればよいですか?

4

1 に答える 1

0

テンプレートフィールド内にリンクボタンを追加するだけです

<asp:GridView runat="server" ID="gridView">
        <Columns>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:LinkButton runat="server" ID="lnkTest"></asp:LinkButton>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

次に、rowdatabound イベントでそれを見つけて、好きなことを行うことができます

void gridView_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            Entity entity = e.Row.DataItem as Entity;

            LinkButton lnkTest = e.Row.FindControl("lnkTest") as LinkButton;
            lnkTest.CommandArgument = entity.ID.ToString();
            lnkTest.Text = entity.Name;
        }
    }

その後、gridview Command イベントをサブスクライブできます。linkbutton をクリックすると、正しい CommandArgument が渡されます。お役に立てれば。

于 2012-06-05T11:02:55.643 に答える