0

在我的网页中,不同的用户可以访问相同的个人资料,但用户可以是个人资料的所有者或访客,并且内容必须针对这两个条件进行更改。

如果访客检查个人资料,他会看到这个编辑器:

<asp:Repeater id="UserLoginRepeater" runat="server">
        <HeaderTemplate>
        </HeaderTemplate>
        <ItemTemplate>
           <asp:Label ID="Label2" runat="server">label Text</asp:Label> <asp:Label runat="server">label text 2</asp:Label> 
            </br>
            <asp:Button runat="server" Text="TestButton"/>
            </br>
         <asp:Label ID="Label3" runat="server">Test</asp:Label>   <textarea><%# Eval("Content") %></textarea>
              </br>
              </br>
        </ItemTemplate>
        <FooterTemplate>
        </FooterTemplate>
 </asp:Repeater>

代码隐藏:

如果用户是配置文件的所有者,则必须将 TextArea 替换为标签,并且必须添加带有文本框的其他标签。

我在互联网上发现了几个可能的实现,但它们并不那么容易维护。例如

http://tinyurl.com/9764eys

将控件动态加载到Repeater的最佳方法是什么?

4

3 回答 3

0

在后面的代码中使用<asp:ContentPlaceholder>then 为 OnItemDataBound 事件添加处理程序。如果您希望这些控件处理事件,请确保在页面的 OnPreRender 之前绑定您的转发器。

于 2012-09-20T19:47:50.790 回答
0

为什么不为两个条件创建两个中继器?只需为特定用户绑定中继器并隐藏另一个。

于 2012-09-21T03:05:35.280 回答
0

在代码隐藏中动态加载控制器。

于 2012-09-22T23:47:49.817 回答