В ajaxified RadGrid я хочу, чтобы две кнопки вызывали обратную передачу (обход Ajax) и выполняли некоторый внутренний код.Вот что у меня есть ...
Кнопки (просто показываю одну для простоты):
<telerik:GridTemplateColumn HeaderText="Actions">
<ItemTemplate>
<asp:ImageButton ID="btnEdit" runat="server" OnClientClick="realPostBack();" ImageUrl="~/images/icon_edit.png" style="display: inline-block" ToolTip="Edit" CommandName="fbEdit" />
</ItemTemplate>
</telerik:GridTemplateColumn>
Функция Javascript, которую я использую для отключения обратной передачи:
<script type="text/javascript">
function realPostBack(eventTarget, eventArgument) {
$find("<%= RadAjaxPanel1.ClientID %>").__doPostBack(eventTarget, eventArgument);
}
Кодовый код, который я хочу выполнить:
protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == "fbEdit")
{
//grab variables from row's cells
string userID = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["UserID"];
string userName= e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["UserName"];
string userEmail = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["UserEmail"];
//DO SOME PROCESSING STUFF
}
if(e.CommandName == "fbDelete")
{
//delete record
}
}
Итак, обратная запись действительно происходит, но мой код никогда не срабатывает.Я предполагаю, что это связано с тем, что событие привязано к сетке, а не к кнопкам, которые я «неясифицируем», но я пошел по этому пути, потому что мне НУЖНО зафиксировать значения некоторых ячеек в строке, по которой была нажата кнопка.
Может быть, я могу переделать это, чтобы использовать кнопки onClick Event, но мне все равно нужно было бы захватить эти значения.
Может кто-нибудь помочь?