0

我有 Telerik radgrid 与网格模板列绑定,删除图标的可见性是通过调用方法 ISDeleteVisible 背后的代码来决定的错误。

 <telerik:GridTemplateColumn AllowFiltering="false" UniqueName="Options">
                                                <ItemTemplate>
                                                     <asp:ImageButton ID="imgDelete" runat="server" CommandName="cmdDelete" ToolTip="Delete"
                                                        Visible="<%# ISDeleteVisible(Eval("AgencyType") %>" CommandArgument="Container.DataItemIndex"
                                                        CausesValidation="False" ImageUrl="<%$ Resources:WebResource, deleteIcon %>"
                                                        OnClientClick="javascript:return confirm('Are you sure you want to delete?');" />
                                                </ItemTemplate>
                                                <ItemStyle Width="100px" />
                                            </telerik:GridTemplateColumn> 

在后面的代码中,我的代码后面的方法为

protected bool ISDeleteVisible(string AgencyType)
        {
            if(AgencyType=="HouseHoldAgency")
            ISDELETE = true;
            else
                ISDELETE = false;
            return ISDELETE;
        }
4

1 回答 1

0

您在 Eval("AgencyType") 之后缺少一个右括号。

此外,只要像这样内联绑定属性值,请使用单引号而不是双引号:

Visible='<%# ISDeleteVisible(Eval("AgencyType")) %>'

无关,但您的代码隐藏方法有很多问题。首先,你可以这样写一行:

protected void IsDeletedVisible(string agencyType)
{
    return AgencyType == "HouseHoldAgency";
}

如果您不想这样写,则需要声明您的 ISDELETED 变量。如果它是局部变量,则需要声明它,如下所示:

bool isDeleted;

此外,在编写代码时,大写与小写也很重要。在决定方法、变量、属性等的名称是使用大写字母还是小写字母时,您应该小心。

于 2014-08-08T06:36:33.217 回答