【发布时间】:2015-05-24 09:45:53
【问题描述】:
我正在开发一个需要根据当前用户进行变形的 WebPart;如果一个人,他们会看到一组特定的控件,另一个人会看到其他东西(根据他们的角色/情况)。
创建 N 个 VisualWebParts,然后根据当前用户换出 WebPart 托管的特定 VWP 是否明智?或者有没有更好/更容易的标准方法(我是 Sharepoint 的新手,因此我不知道什么是“正常”)。
【问题讨论】:
我正在开发一个需要根据当前用户进行变形的 WebPart;如果一个人,他们会看到一组特定的控件,另一个人会看到其他东西(根据他们的角色/情况)。
创建 N 个 VisualWebParts,然后根据当前用户换出 WebPart 托管的特定 VWP 是否明智?或者有没有更好/更容易的标准方法(我是 Sharepoint 的新手,因此我不知道什么是“正常”)。
【问题讨论】:
我认为有很多方法可以动态更改 webpart 的内容。在单个 VisualWebPart 中完成此操作的一种方法是拥有多个控件部分,每个部分都由面板控件封装。使用代码控制面板的可见性以创建动态呈现。
<asp:Panel id="DefaultPanel" runat="server" Visible="True">
<h3>Default Text or controls here</h3></asp:Panel>
<asp:Panel id="SpecialPanel" runat="server" Visible="false">
<h3>Special Text or controls</h3></asp:Panel>
然后在代码中
bool showSpecialTextOnly = (someBooleanTestCondition);
if (showSpecialTextOnly )
{
DefaultPanel.Visible=false;
SpecialPanel.Visible=true;
}
【讨论】: