首页 文章

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

提问于
浏览
1

我有一个Telerik RadGrid,它使用EditFormSettings,如下所示:

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

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

  • OnClick="btnOkay_Click" 作为按钮属性,其中事件处理程序位于后面的代码中

  • CommandName="Update" 作为按钮属性,由传递给RadGrid的OnUpdateCommand属性的事件处理程序处理

这两项都有效 . 但是我的问题是,当RadGrid位于 Repeater ASP.NET控件中的用户控件内时,它们会停止工作 . 在这种情况下,按钮事件处理程序不会被触发(在上面的任何一种方法中) .

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

rpt.DataSource = Data
rpt.DataBind()

如果我将其包装在 if(!Page.IsPostBack) 中,则编辑表单不会编辑链接 . 所以我不得不删除 IsPostBack 检查 . 我没有't think think this is the cause of my problem, as I'已经尝试在单击我的更新按钮时明确不这样做(通过进入调试器) . 我以为我会提到它,因为它是相关的 .

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

1 回答

  • 1

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

相关问题