Поделиться через


Декларативный синтаксис серверного веб-элемента управления WebPartManager

Служит в качестве центрального класса в наборе элементов управления веб-частей, контролируя работу всех элементов управления веб-частей, функциональность и события, происходящие на веб-странице.

<asp:WebPartManager
    CloseProviderWarning="string"
    DeleteWarning="string"
    EnableClientScript="True|False"
    EnableTheming="True|False"
    EnableViewState="True|False"
    ExportSensitiveDataWarning="string"
    ID="string"
    OnAuthorizeWebPart="AuthorizeWebPart event handler"
    OnConnectionsActivated="ConnectionsActivated event handler"
    OnConnectionsActivating="ConnectionsActivating event handler"
    OnDataBinding="DataBinding event handler"
    OnDisplayModeChanged="DisplayModeChanged event handler"
    OnDisplayModeChanging="DisplayModeChanging event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnSelectedWebPartChanged="SelectedWebPartChanged event handler"
    OnSelectedWebPartChanging="SelectedWebPartChanging event handler"
    OnUnload="Unload event handler"
    OnWebPartAdded="WebPartAdded event handler"
    OnWebPartAdding="WebPartAdding event handler"
    OnWebPartClosed="WebPartClosed event handler"
    OnWebPartClosing="WebPartClosing event handler"
    OnWebPartDeleted="WebPartDeleted event handler"
    OnWebPartDeleting="WebPartDeleting event handler"
    OnWebPartMoved="WebPartMoved event handler"
    OnWebPartMoving="WebPartMoving event handler"
    OnWebPartsConnected="WebPartsConnected event handler"
    OnWebPartsConnecting="WebPartsConnecting event handler"
    OnWebPartsDisconnected="WebPartsDisconnected event handler"
    OnWebPartsDisconnecting="WebPartsDisconnecting event handler"
    Personalization-Enabled="True|False"
    Personalization-InitialScope="User|Shared"
    Personalization-ProviderName="string"
    runat="server"
    SkinID="string"
>
    <Personalization
        Enabled="True|False"
        InitialScope="User|Shared"
        ProviderName="string" />
    <StaticConnections>
        <asp:WebPartConnection
            ConsumerConnectionPointID="string"
            ConsumerID="string"
            ID="string"
            ProviderConnectionPointID="string"
            ProviderID="string" >
            <asp:RowToFieldTransformer
                FieldName="string" />
            <asp:RowToParametersTransformer
                ConsumerFieldNames="string"
                ProviderFieldNames="string"/>
        </asp:WebPartConnection>
    </StaticConnections>
</asp:WebPartManager>

Заметки

Элемент управления WebPartManager действует как концентратор или центр управления приложением веб-частей. На каждую страницу, на которой используются элементы управления веб-частей, должен быть один-единственный экземпляр элемента управления WebPartManager, и он должен быть размещен до размещения каких-либо элементов управления зоны. Как и с большинством аспектов приложений веб-частей, элемент управления WebPartManager работает только с пользователями, прошедшими проверку подлинности. Более того, его функции работают практически со всеми элементами сервера, которые находятся в зонах веб-частей, наследуемых из класса WebZone. Элементы управления сервера, которые находятся на странице за пределами этих зон, могут иметь очень незначительные функциональные возможности работы с веб-частями или взаимодействия с элементом управления WebPartManager.

Для получения дополнительных сведений об элементе WebPartManager и элементах управления веб-частей см. Элементы управления веб-частей ASP.NET.

Пример

В следующем примере кода показано декларативное использование элемента управления WebPartManager в сценарии веб-частей с элементом управления Calendar. Веб-страница позволяет пользователю переходить в режим редактирования для изменения определенных аспектов элемента управления Calendar. Кнопка Переключить область используется для переключения страницы между областью пользователя и общей областью персонализации. Кнопки Режим изменения и Режим обзора служат для переключения страницы в соответствующий режим отображения. Обратите внимание, что в разделе тегов <script> файла два метода, обрабатывающих события, используют свойство Personalization для доступа к нужным элементам соответствующего объекта. В частности, эти методы используют метод ToggleScope и свойство Scope объекта, который доступен с помощью свойства Personalization.

Чтобы выполнить пример кода, следует разрешить одному или нескольким пользователям настроить страницы в общей области. Для этого добавьте запись в файл Web.config в Элемент webParts (схема параметров ASP.NET).

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        If ((mgr1.Personalization.Scope = PersonalizationScope.User) _
           And (mgr1.Personalization.CanEnterSharedScope)) Then
            mgr1.Personalization.ToggleScope()

        ElseIf (mgr1.Personalization.Scope = PersonalizationScope.Shared) Then
            mgr1.Personalization.ToggleScope()
        Else
            'If the user cannot enter shared scope you may want
            ' to notify them on the page.
        End If
    End Sub


    Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        mgr1.DisplayMode = WebPartManager.EditDisplayMode
    End Sub    

    Protected Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        mgr1.DisplayMode = WebPartManager.BrowseDisplayMode
    End Sub


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As CommandEventArgs)
        Label1.Text = "Scope is: " _
        + mgr1.Personalization.Scope.ToString()
    End Sub

</script>


<html xmlns="http://www.w3.org/1999/xhtml" >

<head id="head1" runat="server">
    <title>Web Parts Declarative Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:LoginName id="LoginName1" runat="server" />
      <asp:WebPartManager id="mgr1" runat="server">
        <Personalization InitialScope="Shared" Enabled="True" />
      </asp:WebPartManager>
      <asp:WebPartZone id="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:Calendar id="Calendar1" runat="server" />
        </ZoneTemplate>
        <CloseVerb Text="Close This Part" />
        <MinimizeVerb Text="Minimize This Part" />
        <EditVerb Text="Edit This Part" />
      </asp:WebPartZone>
      <asp:EditorZone id="EditorZone1" runat="server">
        <ZoneTemplate>
          <asp:LayoutEditorPart HorizontalAlign="Center" id="Layout1" runat="server" Title="My Custom Layout" />
          <asp:AppearanceEditorPart id="AppearanceEditorPart1" 
            runat="server" BackColor="LightGray" />
          <asp:BehaviorEditorPart id="BehaviorEditorPart1" 
            runat="server"  />
        </ZoneTemplate>
      </asp:EditorZone>
      <hr />
      <asp:Button id="Button1" runat="server" Text="Toggle Scope" OnClick="Button1_Click"  />
      <asp:Button id="Button2" runat="server" Text="Edit Mode" OnClick="Button2_Click" />
      <asp:Button id="Button3" runat="server" Text="Browse Mode" OnClick="Button3_Click" />
      <br />
      <asp:Label id="Label1" runat="server" Text="" />
    </div>
    </form>
</body>
</html>

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
  protected void Button1_Click(object sender, EventArgs e)
  {
    if ((mgr1.Personalization.Scope == PersonalizationScope.User)
        && (mgr1.Personalization.CanEnterSharedScope))
    {
      mgr1.Personalization.ToggleScope();
    }
    else if (mgr1.Personalization.Scope ==
          PersonalizationScope.Shared)
    {
      mgr1.Personalization.ToggleScope();
    }
    else
    {
      // If the user cannot enter shared scope you may want
      // to notify them on the page.
    }
  }



  protected void Button2_Click(object sender, EventArgs e)
  {
    mgr1.DisplayMode = WebPartManager.EditDisplayMode;
  }


  protected void Button3_Click(object sender, EventArgs e)
  {
    mgr1.DisplayMode = WebPartManager.BrowseDisplayMode;
  }


  protected void Page_Load(object sender, EventArgs e)
  {
    Label1.Text = "Scope is: "
      + mgr1.Personalization.Scope.ToString();
  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >

<head id="head1" runat="server">
    <title>Web Parts Declarative Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:LoginName id="LoginName1" runat="server" />
      <asp:WebPartManager id="mgr1" runat="server">
        <Personalization InitialScope="Shared" Enabled="True" />
      </asp:WebPartManager>
      <asp:WebPartZone id="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:Calendar id="Calendar1" runat="server" />
        </ZoneTemplate>
        <CloseVerb Text="Close This Part" />
        <MinimizeVerb Text="Minimize This Part" />
        <EditVerb Text="Edit This Part" />
      </asp:WebPartZone>
      <asp:EditorZone id="EditorZone1" runat="server">
        <ZoneTemplate>
          <asp:LayoutEditorPart HorizontalAlign="Center" id="Layout1" runat="server" Title="My Custom Layout" />
          <asp:AppearanceEditorPart id="AppearanceEditorPart1" 
            runat="server" BackColor="LightGray" />
          <asp:BehaviorEditorPart id="BehaviorEditorPart1" 
            runat="server"  />
        </ZoneTemplate>
      </asp:EditorZone>
      <hr />
      <asp:Button id="Button1" runat="server" Text="Toggle Scope" OnClick="Button1_Click"  />
      <asp:Button id="Button2" runat="server" Text="Edit Mode" OnClick="Button2_Click" />
      <asp:Button id="Button3" runat="server" Text="Browse Mode" OnClick="Button3_Click" />
      <br />
      <asp:Label id="Label1" runat="server" Text="" />
    </div>
    </form>
</body>
</html>

См. также

Ссылки

WebPartManager

Другие ресурсы

Элементы управления веб-частей ASP.NET