Telerik RadGrid - RadGrid在Repeater中时的EditForm事件

时间:2014-09-09 12:16:05

标签: asp.net .net telerik repeater radgrid

我有一个使用EditFormSettings的Telerik RadGrid:

<EditFormSettings EditFormType="WebUserControl" UserControlName="~/UserControls/MyUserControl.ascx" >
    <EditColumn ButtonType="ImageButton" />
</EditFormSettings>

在MyUserControl.ascx中,我有一个按钮,我想在点击时触发事件处理程序。我知道这样做的两种方式如下:

  1. OnClick="btnOkay_Click"作为按钮属性,其中事件处理程序位于
  2. 后面的代码中
  3. CommandName="Update"作为按钮属性,由传递给RadGrid的OnUpdateCommand属性的事件处理程序处理
  4. 这两项都有效。但是我的问题是,当RadGrid位于Repeater ASP.NET控件中的用户控件内时,它们会停止工作。在这种情况下,按钮事件处理程序不会被触发(在上述任何一种方法中)。

    我注意到当我绑定中继器时:

    rpt.DataSource = Data
    rpt.DataBind()
    

    如果我将其换成if(!Page.IsPostBack),那么当我点击RadGrid行的编辑链接时,编辑表单根本不会出现。所以我不得不删除IsPostBack支票。我不认为这是我的问题的原因,因为我在单击我的更新按钮时明确没有这样做(通过进入调试器)。我只是觉得我提到它是有关系的。

    任何人都可以想到为什么会在Repeater中出现故障?

1 个答案:

答案 0 :(得分:1)

在工作同事的帮助下找到了问题!原来是因为我在Repeater而不是Page_Load绑定了Page_Init。将其更改为Page_Init即可解决问题。