【发布时间】:2011-10-17 17:03:22
【问题描述】:
在 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
}
}
所以回发确实发生了,但我的代码永远不会触发。我猜这是因为事件与网格相关联,而不是与“un-ajaxifying”按钮绑定,但我这样做是因为我需要捕获单击按钮所在行中某些单元格的值。
也许我可以修改它以使用按钮 onClick 事件,但我仍然需要捕获这些值。
谁能帮忙?
【问题讨论】:
标签: c# asp.net telerik telerik-grid radgrid