我正在使用c#.net
我有一个转发器和一个ObjectDataSource(在后面的代码中创建了ObjectDataSource)。
在转发器内有两个按钮(编辑/删除)。如果用户没有编辑/删除权限,我需要系统隐藏/删除这些按钮。
转发器代码
<ItemTemplate>
<tr class="tRow left">
<td>
<asp:Button ID="editClick" OnCommand="EditClick" runat="server" Text="Edit" />
<asp:Button ID="deleteClick" OnCommand="DeleteClick" runat="server" Text="Delete/Cancel" />
</td>
<td><%#Eval("bookingID")%></td>
</tr>
</ItemTemplate>
我以为我可以在转发器中添加if语句,但userRepository是一个类,我不想访问源代码中的类。还有另一种方法吗?
<ItemTemplate>
<tr class="tRow left">
<td>
<%if (!userRepository.GetPermission("xxxxx"))
{%>
<asp:Button ID="editClick" OnCommand="EditClick" runat="server" Text="Edit" />
<asp:Button ID="deleteClick" OnCommand="DeleteClick" runat="server" Text="Delete/Cancel" />
<%}%>
</td>
<td><%#Eval("bookingID")%></td>
提前感谢您的帮助。
克莱尔
答案 0 :(得分:3)
要在aspx文件中添加内容,可以在代码隐藏中添加这样的属性:
public bool HasEditPermission
{
get { return !userRepository.GetPermission("xxxxx"); }
}
然后在你的aspx页面中你可以做到:
<ItemTemplate>
<tr class="tRow left">
<td>
<asp:Button ID="editClick" Enabled="<%#HasEditPermission%>" OnCommand="EditClick" runat="server" Text="Edit" />
<asp:Button ID="deleteClick" Enabled="<%#HasEditPermission%>" OnCommand="DeleteClick" runat="server" Text="Delete/Cancel" />
</td>
....