无数据逻辑的转发器条件视图

发布于 2024-10-24 20:38:19 字数 1668 浏览 4 评论 0原文

在我的中继器上,我构建了一个表,并希望仅为具有管理员角色的用户显示一个列。
我需要删除 HeaderTemplate 和 ItemTemplate 中的列。
我可以使用数据逻辑并添加一个布尔值的数据库列,但随后我需要将用户角色发送给 SP。

<asp:Repeater ID="TemplatesList" runat="server">
    <HeaderTemplate>
        <table>
            <tr>
                <th>
                    #
                </th>
                <th>
                    Title
                </th>
                <th>
                    Subject
                </th>
                <th>
                    &nbsp;
                </th>
                <th>
                    &nbsp;
                </th>
            </tr>
    </HeaderTemplate>
    <ItemTemplate>
        <tr>
            <td>
                <%# Eval("ET_ID")%>
            </td>
            <td>
                <%# Eval("ET_Title")%>
            </td>
            <td>
                <%# Eval("ET_Subject")%>
            </td>
            <td>
                <a href="<%# VirtualPathUtility.ToAbsolute("~/Admin/EmailsTemplates/Delete.aspx?id="+Eval("ET_ID").ToString())%>">
                    Delete</a>
            </td>
            <td>
                <a href="<%# VirtualPathUtility.ToAbsolute("~/Admin/EmailsTemplates/Edit.aspx?id="+Eval("ET_ID").ToString())%>">
                    Edit</a>
            </td>
        </tr>
    </ItemTemplate>
    <FooterTemplate>
        </table>
    </FooterTemplate>
</asp:Repeater>

on my repeater i builed a table and want to show a colum just for user that is in role admin.
i need to remove the column in the HeaderTemplate and in ItemTemplate.
i could use data logic and add a db column that will be boolean, but then i need to send to the SP the user role.

<asp:Repeater ID="TemplatesList" runat="server">
    <HeaderTemplate>
        <table>
            <tr>
                <th>
                    #
                </th>
                <th>
                    Title
                </th>
                <th>
                    Subject
                </th>
                <th>
                     
                </th>
                <th>
                     
                </th>
            </tr>
    </HeaderTemplate>
    <ItemTemplate>
        <tr>
            <td>
                <%# Eval("ET_ID")%>
            </td>
            <td>
                <%# Eval("ET_Title")%>
            </td>
            <td>
                <%# Eval("ET_Subject")%>
            </td>
            <td>
                <a href="<%# VirtualPathUtility.ToAbsolute("~/Admin/EmailsTemplates/Delete.aspx?id="+Eval("ET_ID").ToString())%>">
                    Delete</a>
            </td>
            <td>
                <a href="<%# VirtualPathUtility.ToAbsolute("~/Admin/EmailsTemplates/Edit.aspx?id="+Eval("ET_ID").ToString())%>">
                    Edit</a>
            </td>
        </tr>
    </ItemTemplate>
    <FooterTemplate>
        </table>
    </FooterTemplate>
</asp:Repeater>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一梦浮鱼 2024-10-31 20:38:19

如果您只想隐藏该列,则可以使用 LoginView 控件,该控件可以根据角色选择内容:

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.loginview.aspx

它应该在模板中工作

,或者您可以使用内联脚本,如下所示:

<% if (User.IsInRole("Admin")) { %>
<td> xxx </td>
<% } %>

If you just want to hide the column than you can use LoginView control which can select content based on roles:

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.loginview.aspx

it should work within templates

or you can use inline scripting, something like this:

<% if (User.IsInRole("Admin")) { %>
<td> xxx </td>
<% } %>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文