Spec-Zone.ru › MySQL Connectors 1.0

6.2.3 Учебник: Поставщик персонализации веб-частей

MySQL Connector/NET предоставляет поставщик персонализации веб-частей, который позволяет использовать сервер MySQL для хранения данных персонализации.

Примечание

Эта функция была добавлена в Connector/NET 6.9.0.

Этот учебник демонстрирует, как настроить поставщика персонализации веб-частей с помощью Connector/NET.

Минимальные требования

  • Веб-сайт или веб-приложение ASP.NET с поставщиком членства

  • .NET Framework 3.0

  • MySQL 5.5

Настройка поставщика персонализации веб-частей MySQL

Для настройки поставщика выполните следующие действия:

  1. Добавьте ссылки на MySql.Data и MySql.Web в проект веб-сайта или веб-приложения.

  2. Включите поставщика персонализации Connector/NET в раздел system.web файла web.config.

    <webParts>
     <personalization defaultProvider="MySQLPersonalizationProvider">
      <providers>
        <clear/>
        <add name="MySQLPersonalizationProvider"
          type="MySql.Web.Personalization.MySqlPersonalizationProvider,
            MySql.Web, Version=6.9.3.0, Culture=neutral,
            PublicKeyToken=c5687fc88969c44d"
          connectionStringName="LocalMySqlServer"
          applicationName="/" />
      </providers>
      <authorization>
        <allow verbs="modifyState" users="*" />
        <allow verbs="enterSharedScope" users="*"/>
      </authorization>
     </personalization>
    </webParts>
    

Создание элементов управления веб-частью

Для создания элементов управления веб-частью выполните следующие шаги:

  1. Создайте веб-приложение с помощью ASP.NET членства Connector/NET. Подробная информация об этом представлена в разделе Раздел 6.2.1, «Учебник: Connector/NET ASP.NET членство и поставщик ролей».

  2. Создайте новую страницу ASP.NET, а затем переключитесь в режим «Макет».

  3. Из панели инструментов перетащите элемент управления WebPartManager на страницу.

  4. Теперь определите HTML-таблицу с тремя столбцами и одной строкой.

  5. С панели инструментов Веб-части перетащите и поместите элемент управления WebPartZone в первый и второй столбцы.

  6. С панели инструментов Веб-части перетащите и поместите элемент управления CatalogZone с элементами управления PageCatalogPart и EditorZone в третий столбец.

  7. Добавьте элементы управления в WebPartZone, которые должны выглядеть аналогично следующему примеру:

    <table>
      <tr>
        <td>
          <asp:WebPartZone ID="LeftZone" runat="server" HeaderText="Left Zone">
            <ZoneTemplate>
              <asp:Label ID="Label1" runat="server" title="Left Zone">
                <asp:BulletedList ID="BulletedList1" runat="server">
                  <asp:ListItem Text="Item 1"></asp:ListItem>
                  <asp:ListItem Text="Item 2"></asp:ListItem>
                  <asp:ListItem Text="Item 3"></asp:ListItem>
                </asp:BulletedList>
              </asp:Label>
            </ZoneTemplate>
          </asp:WebPartZone>
        </td>
        <td>
          <asp:WebPartZone ID="MainZone" runat="server" HeaderText="Main Zone">
            <ZoneTemplate>
              <asp:Label ID="Label11" runat="server" title="Main Zone">
                <h2>This is the Main Zone</h2>
              </asp:Label>
            </ZoneTemplate>
          </asp:WebPartZone>
        </td>
        <td>
          <asp:CatalogZone ID="CatalogZone1" runat="server">
            <ZoneTemplate>
              <asp:PageCatalogPart ID="PageCatalogPart1" runat="server" />
            </ZoneTemplate>
          </asp:CatalogZone>
          <asp:EditorZone ID="EditorZone1" runat="server">
            <ZoneTemplate>
              <asp:LayoutEditorPart ID="LayoutEditorPart1" runat="server" />
              <asp:AppearanceEditorPart ID="AppearanceEditorPart1" runat="server" />
            </ZoneTemplate>
          </asp:EditorZone>
        </td>
      </tr>
    </table>
    
  8. Вне HTML-таблицы добавьте раскрывающийся список, две кнопки и метку следующим образом.

    <asp:DropDownList ID="DisplayModes" runat="server" AutoPostBack="True"
       OnSelectedIndexChanged="DisplayModes_SelectedIndexChanged">
    </asp:DropDownList>
    <asp:Button ID="ResetButton" runat="server" Text="Reset"
       OnClick="ResetButton_Click" />
    <asp:Button ID="ToggleButton" runat="server" OnClick="ToggleButton_Click"
       Text="Toggle Scope" />
    <asp:Label ID="ScopeLabel" runat="server"></asp:Label>
    
  9. Следующий код заполняет список режимов отображения, отображает текущий контекст, сбрасывает состояние персонализации, переключает контекст (между пользователем и общим контекстом) и изменяет режим отображения.

    public partial class WebPart : System.Web.UI.Page
    {
      protected void Page_Load(object sender, EventArgs e)
      {
        if (!IsPostBack)
        {
          foreach (WebPartDisplayMode mode in WebPartManager1.SupportedDisplayModes)
          {
            if (mode.IsEnabled(WebPartManager1))
            {
              DisplayModes.Items.Add(mode.Name);
            }
          }
        }
        ScopeLabel.Text = WebPartManager1.Personalization.Scope.ToString();
      }
    
      protected void ResetButton_Click(object sender, EventArgs e)
      {
        if (WebPartManager1.Personalization.IsEnabled &&
          WebPartManager1.Personalization.IsModifiable)
        {
          WebPartManager1.Personalization.ResetPersonalizationState();
        }
      }
    
      protected void ToggleButton_Click(object sender, EventArgs e)
      {
        WebPartManager1.Personalization.ToggleScope();
      }
    
      protected void DisplayModes_SelectedIndexChanged(object sender, EventArgs e)
      {
        var mode = WebPartManager1.SupportedDisplayModes[DisplayModes.SelectedValue];
        if (mode != null && mode.IsEnabled(WebPartManager1))
        {
          WebPartManager1.DisplayMode = mode;
        }
      }
    }
    

Тестирование изменений веб-части

Используйте следующие шаги для проверки ваших изменений:

  1. Запустите приложение и откройте страницу веб-части. Страница должна выглядеть аналогично примеру на рисунке, где кнопка Переключить контекст установлена в значение Shared. На странице также присутствует раскрывающийся список, кнопка Сбросить и элементы управления «Левая зона» и «Основная зона».

    Рисунок 6.3 Страница веб-части

    Content is described in the surrounding text.

    Изначально, когда учетная запись пользователя не авторизована, по умолчанию используется контекст Общий. Для изменения настроек элементов управления веб-частями требуется авторизация учетной записи пользователя. На следующем рисунке показан пример, когда авторизованный пользователь может настроить элементы управления с помощью раскрывающегося списка «Просмотреть». Варианты в списке — Design, Catalog и Edit.

    Рисунок 6.4 Элементы управления авторизованного пользователя

    Content is described in the surrounding text.

  2. Нажмите Переключить контекст, чтобы вернуть приложение в общий контекст.

  3. Теперь вы можете персонализировать зоны, используя режимы отображения Edit или Catalog на уровне конкретного пользователя или всех пользователей. На следующем рисунке выбран режим Catalog из раскрывающегося списка, который включает элемент управления зоной «Каталог», добавленный ранее.

    Рисунок 6.5 Персонализация зон

    Content is described in the surrounding text.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/connector-net-en/connector-net-tutorials-web-personalization-provider.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API