我有一个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)中,那么当我单击RadGrid行的编辑链接时,编辑表单就根本不会出现。所以我不得不删除那张IsPostBack支票。我不认为这是我的问题的原因,因为我已经尝试过在单击update按钮时(通过闯入调试器)显式地不这样做。我只是想我应该提一下万一它是相关的。
有人能想出为什么这会在复读机中崩溃吗?
发布于 2014-09-09 13:45:24
在同事的帮助下发现了这个问题!原来是因为我将Repeater绑定在Page_Load中而不是Page_Init中。将其更改为Page_Init解决了这个问题。
https://stackoverflow.com/questions/25744396
复制相似问题