在设计器中添加了按钮引用,它在后面的代码中抛出了一个null错误

时间:2015-04-20 13:26:06

标签: c# asp.net

我有一个标记中的按钮,但在代码隐藏中无法访问,直到我添加到页面设计器中。现在,当我运行页面并检查ID是否要启用或禁用按钮时,我收到错误消息“对象引用未设置为对象的实例”。我不知道它为什么扔它。

这是我放入设计器的代码,因此我可以访问按钮

/// <summary>
/// Added this so i can access this button in the code behind
/// </summary>
protected global::DevExpress.Web.ASPxButton xbtnDelete;

/// <summary>
/// Added this so i can access it in the codebehind
/// </summary>
protected global::DevExpress.Web.ASPxButton xbtnView;

这是标记中的按钮

<dx:GridViewDataColumn VisibleIndex="0" Caption="" FieldName="Delete" Width="100" CellStyle-HorizontalAlign="Center">
    <DataItemTemplate>
        <dx:ASPxButton ID="xbtnDelete" runat="server" Text="Delete" OnClick="xbtnDelete_Click"
            CommandArgument='<%# Container.VisibleIndex%>' Theme="Office2010Silver">
            <Image IconID="edit_delete_16x16" ToolTip="Edit"></Image>
            <ClientSideEvents Click="function(s, e) {e.processOnServer = confirm('Are you sure you want to delete this record?');}" />
        </dx:ASPxButton>
    </DataItemTemplate>
</dx:GridViewDataColumn>
<dx:GridViewDataColumn VisibleIndex="0" Caption="" FieldName="View" Width="100" CellStyle-HorizontalAlign="Center">
    <DataItemTemplate>
        <dx:ASPxButton ID="xbtnView" runat="server" Text="View" OnClick="xbtnView_Click"
            CommandArgument='<%# Container.VisibleIndex%>' Theme="Office2010Silver">
            <Image IconID="miscellaneous_viewonweb_16x16" ToolTip="Edit"></Image>
        </dx:ASPxButton>
    </DataItemTemplate>
</dx:GridViewDataColumn>

这是我正在捕捉错误的代码

private void CheckRoleLevel(int roleid)
    {
        if (RoutingControler.CheckMyRolesAreHigherOrEqualThanComparedRole(Convert.ToInt32(roleid)).Equals(true))
        {
            xbtnDelete.Enabled = true;
            xbtnView.Enabled = true;
        }
        else
        {
            xbtnDelete.Enabled = false;
            xbtnView.Enabled = false;
        }
    }   

关于我做错的任何想法?

1 个答案:

答案 0 :(得分:0)

想出我出错的地方..我不得不在网格的HTMLCreated事件中添加代码。这让我抓住了按钮。