【问题标题】:Disable ajax for an imagebutton control inside a GridTemplateColumn of an ajaxified RadGrid为 ajaxified RadGrid 的 GridTemplateColumn 内的 imagebutton 控件禁用 ajax
【发布时间】: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


    【解决方案1】:

    从您尝试在 RadGrid 的 OnItemCommand 事件中执行代码的情况来看,但您可能会让事情变得有点过于复杂。为什么不使用 GridButtonColumn,将 ButtonType 设置为 ImageButton,然后设置与上述相同的 CommandName?只要您订阅 OnItemCommand 事件,这应该会触发调用所有内容,并且您对 e.CommandName == "fbEdit" 的条件检查也应该被命中。

    有关如何使用此 RadGrid 特定列(以类似方式)的示例,您可以查看this demo

    【讨论】:

      【解决方案2】:

      您需要在 PageLoad 事件中添加以下代码。

       if (!IsPostBack)
       {
           RadGridName.Rebind();
       }
      

      就是这样。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-12-20
        • 1970-01-01
        • 2014-09-10
        • 1970-01-01
        • 1970-01-01
        • 2011-12-05
        • 1970-01-01
        相关资源
        最近更新 更多