Когда вы нажимаете любую кнопку в виде сетки, ваша страница отправляется обратно, и событие загрузки страницы вызывается до того, как оно переходит в событие RowCommand
. В событии загрузки страницы вы снова привязываете свой gridview, и поэтому ваш RowCreated Event
называется.
Вы должны связать свой gridview в if (!IsPostBack)
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
List<ViewModels.UserTestorViewModel> utViewModelList = new List<ViewModels.UserTestorViewModel> { };
utViewModelList = utRepo.GetUserTestorViewModelListByHrId();
this.GridView1.DataSource = utViewModelList;
this.GridView1.DataBind();
}
}
Редактировать: Теперь я получил ваш вопрос после того, как вы отправили код ..
Проблема здесь в Page_Init
, вы можете удалить отсюда обработчик событий и попробовать следующее:
protected void Page_Init(object sender, EventArgs e)
{
GridView1.RowCreated += new GridViewRowEventHandler(GridView1_RowCreated);
}
добавить сюда
<asp:GridView onrowcreated="GridView1_RowCreated">