断点没有击中ItemDataBound函数

时间:2013-12-09 14:58:08

标签: c# asp.net telerik radgrid

我有一个名为RadGrid1的网格控件,并且在RadGrid1_ItemDataBound中有一个断点,但是当我运行我的aspx应用程序时,断点没有被触发。

我的代码是:

<telerik:RadGrid ID="RadGrid1" runat="server" Width="980px" CssClass="GridDisplay" 
            AllowAutomaticDeletes="false" AllowAutomaticInserts="false" AllowAutomaticUpdates="true" AllowPaging="true" 
            AutoGenerateColumns="False" AutoGenerateDeleteColumn="false" AutoGenerateEditColumn="false" ItemStyle-Height="20px" 
            ClientSettings-ActiveRowIndex="true" EnableViewState = "false" OnDeleteCommand = "RadGrid1_OnDelete" 
            OnItemCreated = "RadGrid1_ItemCreated" OnItemDatabound = "RadGrid1_ItemDatabound" OnNeedDataSource = "RadGrid1_NeedDataSource">

    <telerik:GridTemplateColumn DataField="Confirmed" HeaderText="Confirmed" UniqueName="Confirmed" Visible="true">
        <ItemTemplate>
            <asp:CheckBox ID="chkVerified" runat="server" AutoPostBack="true" 
            Checked='<%# bool.Parse(Eval("Verified").ToString()) %>'
            Enabled='<%# !!Convert.ToBoolean(Convert.ToInt32(Eval("Verified").ToString())) %>'
            ToolTip='<%# Eval("NoConfirmDesc").ToString() %>'
            />
        </ItemTemplate>
    </telerik:GridTemplateColumn>

aspx.cs

private void RadGrid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
    if (e.Item is GridDataItem)
    { }
} 

3 个答案:

答案 0 :(得分:2)

在aspx中,Databound事件的处理程序称为RadGrid1_ItemDatabound

OnItemDatabound = "RadGrid1_ItemDatabound"

但在代码背后,您的方法拼写为数据绑定中的大写 B

void RadGrid1_ItemDataBound

确保将断点放在正确的方法中。

答案 1 :(得分:1)

也许您忘记注册或未正确注册OnItemDataBound事件

或者您可能没有对控件进行数据绑定?

RadGrid1.DataSource= mydatasource;
RadGrid1.DataBind();

最后一种可能是iis express和visualstudio调试器不正常工作

我建议杀死iisexpress进程,然后重建解决方案,然后再试一次

答案 2 :(得分:1)

您能确定页面的AutoEventWireup="true"吗?

<%@ Page ... AutoEventWireup="true" %>

此外,请确保它们之间没有空格OnItemDatabound="RadGrid1_ItemDatabound"

我在代码中注意到的一件事是,如果您使用RadGrid,则希望使用 OnNeedDataSource 来绑定数据。

OnNeedDataSource="RadGrid1_NeedDataSource"