Как отличить обновление или вставку в GridView OnUpdating Event?
Я работаю над своим веб-приложением с использованием ASP.NET, я попал в ситуацию, когда мне нужно различать UPDATIng и INSERTING в событии обновления GridView.
protected void GridView_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
//conditional check
if(Update Flage){
//Call Update Function
}
else{
//Call Insert Function
}
}
У меня есть ItemTemplate и EditItemTemplate в GridView, когда я нажимаю кнопку "Изменить" (на ItemTemplate), затем меняю кнопку "Обновить" (на EditItemTemplate).
И у меня есть кнопка "Добавить" вне GridView, после нажатия которой я добавляю новую строку в GridView и меняю текст кнопки на ADD в виде следующего фрагмента кода:
ds.Tables[0].Rows.InsertAt(ds.Tables[0].NewRow(), 0);
GridViewID.EditIndex = 0;
LinkButton cmdButton = GridView.Rows[0].FindControl("btnUpdate") as LinkButton;
cmdButton.Text = "Add";
Я знаю, что есть InsertItemTemplate для вставки строк, но в моей ситуации я использовал Button вне GridView вместо добавления новой строки редактирования.
Итак, как я могу дифференцировать редактирование или вставку в RowUpdating Event? Любой рекомендуемый трюк для достижения этой цели? возможно что-то вроде добавления HiddenField в качестве флага.
Заранее благодарю.
1 ответ
Вы можете идентифицировать событие на основе этого значения имени команды
например.
protected void GridView_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string arg = e.CommandName.ToString();
if(arg="Edit")
{
}
else if(arg=="Update")
{
}
размечать
<asp:LinkButton ID="lnkEdit" Text="Customize" CommandName="edit" CommandArgument='edit' runat="server">
</asp:LinkButton>