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

本文关键字:问题 添加 动态 NET gridview ASP | 更新日期: 2023-09-27 18:19:09

我在下面得到了一个简单的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事件在这种情况下没有触发。唯一有效的事件是页面加载。有人能帮我吗?

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

您的代码在以下方法中。这个是你创作的吗?

protected void gridMain_onRowCommand(object sender, GridViewCommandEventArgs e)
{
}