【问题标题】:ListView disable Insert and Edit buttons based on roleListView 根据角色禁用插入和编辑按钮
【发布时间】:2011-06-02 18:23:33
【问题描述】:

我需要禁用 ListView 中的编辑/创建按钮。请谁能告诉我如何从后面的代码中启用或禁用 ListView 中的编辑/创建按钮。

不确定这是否可能。

<InsertItemTemplate>
    <tr>
        <td>
            <asp:Button ID="InsertButton" runat="server" CommandName="Insert" 
                Text="Insert" CssClass="button" 
                ValidationGroup="InsertValidation" CausesValidation="true" />
            <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" 
                Text="Clear" CssClass="button" />
        </td>
    </tr>
</InsertItemTemplate>

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    使用RolePrincipal.IsInRole

    代码应该与以下类似:

    void listView_ItemDataBound(...)
    {
        Button targetButton = (Button) e.Item.FindControl("TargetButtonName");
    
        targetButton.Enabled = User.IsInRole("Administrators");
    }
    

    参考how to enable and disable button based on user role?

    【讨论】:

    • 感谢@Akram 的所有帮助。如果我亲自认识你,我会带你免费喝咖啡。非常感谢您的宝贵时间。
    • @Akram,我试过 Button targetInsertButton = (Button)e.Item.FindControl("InsertButton"); targetInsertButton.Enabled = 假;它给出了对象引用未设置错误。但是 EditButton 工作正常。
    • @flybyte:如果您发布了您的 html 标记,我将能够帮助您...
    • 不确定您的意思。我试过这个但不工作:Button targetInsertButton = (Button)e.Item.FindControl("InsertButton"); targetInsertButton.Enabled = false;
    • @flybyte: 插入按钮位于插入项中..您必须在尝试找到插入按钮之前检查项目类型..
    猜你喜欢
    • 2011-08-24
    • 1970-01-01
    • 2013-10-29
    • 2016-07-05
    • 1970-01-01
    • 2018-02-09
    • 2019-01-08
    • 2018-06-28
    • 2021-12-12
    相关资源
    最近更新 更多