我在下面有一个简单的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事件没有触发。唯一有效的事件是页面加载。任何人都可以帮助我吗?
答案 0 :(得分:0)
您可以使用以下方法获取代码。你创造了这个吗?
protected void gridMain_onRowCommand(object sender, GridViewCommandEventArgs e)
{
}