我在下面得到了一个简单的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事件在这种情况下没有触发。唯一有效的事件是页面加载。有人能帮我吗?
您的代码在以下方法中。这个是你创作的吗?
protected void gridMain_onRowCommand(object sender, GridViewCommandEventArgs e)
{
}