有条件地允许在FormView中编辑?

时间:2013-01-10 18:52:17

标签: c# asp.net .net formview

以编程方式启用或禁用在C#中编辑FormView的能力的最佳方法是什么?理想情况下,我正在寻找类似的东西:

if (user.IsAdmin())
    FormView.Editable = true;

else
    FormView.Editable = false;

但我似乎找不到能让我这样做的财产。我定义了一个Edit Item模板,因此当我看到FormView时,“Edit”按钮总是出现。

如果您需要任何其他信息,请告诉我。我故意没有发布任何代码来保持尽可能通用 - 我可以根据自己的情况定制它。谢谢!

1 个答案:

答案 0 :(得分:2)

我能给出的最佳建议如下:

使用您要定位的编辑按钮设置您的itemtemplate。 e.g。

<asp:Formview ...>
  ...
  <ItemTemplate>
    ...
    <asp:Button runat="server" id="edit_button" CommandName="Edit" Text="Edit" />
    ...
  </ItemTemplate>
</asp:FormView>

然后,在您的代码隐藏中,您可以根据权限允许/禁止该按钮。 e.g。

void Page_Load(...)
{
  ...
  ((Button)this.formView.FindControl("edit_button")).Enabled = User.IsAdmin();
  ...
}