如果声明在转发器中使用类

时间:2009-10-07 14:20:03

标签: c# .net class repeater

我正在使用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>

        

提前感谢您的帮助。

克莱尔

1 个答案:

答案 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>
    ....