【发布时间】:2017-07-31 08:43:04
【问题描述】:
我的DataGrid 是这样的:
<asp:DataGrid ID="tasks" runat="server" AutoGenerateColumns="False" GridLines="None">
<HeaderStyle CssClass="task-list-header"/>
<ItemStyle CssClass="task-list-row"/>
<Columns>
<asp:BoundColumn DataField="Name"
HeaderStyle-Width="100px"
HeaderText="Name"></asp:BoundColumn>
<asp:BoundColumn DataField="Description"
HeaderStyle-Width="250px"
HeaderText="Description"></asp:BoundColumn>
<asp:BoundColumn DataField="IsComplete"
HeaderStyle-Width="125px"
HeaderText="Is Complete"></asp:BoundColumn>
<asp:TemplateColumn>
<HeaderStyle Width="75px"/>
<ItemTemplate>
<asp:HyperLink ID="Hyperlink1" runat="server"
NavigateUrl='<%# ModuleContext.EditUrl("TaskId", Eval("TaskId").ToString(), "EditTask") %>'
Text="Edit"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<HeaderStyle Width="75px"/>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server"
CommandArgument='<%# Eval("TaskId") %>' CommandName="Delete" Text="Delete"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
这基本上是一个任务列表,最后两列分别为Edit 和Delete。我正在使用 DNN8。如果用户未以超级用户身份登录,我想隐藏 Edit 和 Delete 链接。我怎样才能做到这一点?我还尝试了OnAutoBinding 的属性,但没有运气。
提前感谢您的帮助。
【问题讨论】:
-
您可以在链接按钮上使用 Visible="false",当用户登录时,更改可见性。
-
是的,我知道我可以使用 Datagrid 的 Visible 属性。但我想动态地使用它,比如
(userInfo.IsSuperUser?visible = true:Visible=false)