DetailsView有条件地启用编辑字段

时间:2015-02-10 15:10:20

标签: asp.net roles detailview

我有一个现有的asp.net详细信息视图,可以通过许多不同的角色编辑这些信息。引入了一个新的位字段(复选框),页面正常工作。

下一步是将此字段的编辑限制为仅一个角色。如何将编辑控件设置为禁用?

尝试的方法

  • 代码隐藏 - 在Detailsview的模式更改事件中,编辑控件尚未呈现,因此无法禁用
  • 在页面代码中 - 这可以启用和禁用控件。此问题是该字段未保存更新。我怀疑这是模板中代码的问题。我正在使用的代码是:
<EditItemTemplate>
  <% If User.IsInRole("SystemAdministrator") Then%>
    <asp:CheckBox ID="BypassIpLockdownCheckBox" runat="server" Checked='<%# Bind("ByPassIPLockdown") %>' />
  <% Else%>
    <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("ByPassIPLockdown") %>' Enabled="false" />
    <% End If%>
</EditItemTemplate>

如何有条件地启用/禁用该字段?

1 个答案:

答案 0 :(得分:-1)

试试这个

<asp:CheckBox ID="BypassIpLockdownCheckBox" runat="server" Checked='<%# Bind("ByPassIPLockdown") %>' Enabled='<%# User.IsInRole("SystemAdministrator") %>' />