ASP.NET gridview动态添加了列问题

时间:2014-08-23 13:21:27

标签: c# asp.net gridview

我在下面有一个简单的gridview,其中列在不回发时动态生成页面加载。

<asp:GridView runat="server" ID="gridMain"
 CssClass="table table-striped table-bordered"
 OnRowCommand="gridMain_onRowCommand"
 OnRowDataBound="gridMain_onRowDataBound"
 OnRowEditing="gridMain_onRowEditing"
 OnRowUpdating="gridMain_onRowUpdating"
 OnRowCancelingEdit="gridMain_onRowCancelingEdit"
 AutoGenerateColumns="False"
 DataKeyNames="StudentId">
</asp:GridView>

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            var actionField = new TemplateField
            {
              HeaderText = "Action",
              ItemTemplate = new BtnEditTemplate(),
              EditItemTemplate = new BtnUpdateTemplate()
            };
            gridMain.Columns.Add(nameField);
        }
     }

这是BtnEditTemplate()

public class BtnEditTemplate : ITemplate
{
    public void InstantiateIn(Control container)
    {
        var btnEdit = new LinkButton {ID = "btnEdit" CommandName = "Delete"};
        container.Controls.Add(btnEdit);
    }
}

问题是在这种情况下gridMain_onRowCommand事件没有触发。唯一有效的事件是页面加载。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

您可以使用以下方法获取代码。你创造了这个吗?

protected void gridMain_onRowCommand(object sender, GridViewCommandEventArgs e)
{

}