I have already find out the solution, i just want to post it so this may be useful for some people
This is the button that use command
You may have made EnableViewState="false" in grid.
If this is the case, Rowcommand Event will also not fire.
You have made EnableEventValidation="true" on page.
If this is the case, RowCommand Event Will Not Fire, Set This To false.
The solution is to set it to true.
The Problem is that on Page_Load I use Databind() command on the gridview I'm using rowcommand, it seems that after DataBind(), rowcommand is cancelled.
protected void Page_Load(object sender, EventArgs e)
{
gdvxUsers.DataSource = GetAllUserAndRole();
gdvxUsers.DataBind();
}
So I fix this problem by binding data only on first load.
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
gdvxUsers.DataSource = GetAllUserAndRole();
gdvxUsers.DataBind();
}
}