Condividi tramite


WebPartZoneBase.HelpVerb Proprietà

Definizione

Ottiene un riferimento a un oggetto WebPartVerb utilizzato per accedere alla Guida relativa ai controlli WebPart di una zona.

public:
 virtual property System::Web::UI::WebControls::WebParts::WebPartVerb ^ HelpVerb { System::Web::UI::WebControls::WebParts::WebPartVerb ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public virtual System.Web.UI.WebControls.WebParts.WebPartVerb HelpVerb { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.HelpVerb : System.Web.UI.WebControls.WebParts.WebPartVerb
Public Overridable ReadOnly Property HelpVerb As WebPartVerb

Valore della proprietà

Oggetto WebPartVerb che consente agli utenti di accedere al contenuto della Guida relativo ai controlli WebPart di una zona.

Attributi

Esempio

Nell'esempio di codice seguente viene illustrato l'uso HelpVerb della proprietà in un WebPartZone controllo.

Per il funzionamento dell'esempio di codice, oltre al codice seguente, è necessario un controllo personalizzato WebPart . È possibile usare il proprio controllo oppure usare il codice per il controllo personalizzato TextDisplayWebPart trovato nella sezione Esempio della panoramica della WebPart classe.

Questo esempio di codice include un controllo utente per consentire di modificare le modalità di visualizzazione in una pagina Web. Per altre informazioni sulle modalità di visualizzazione e sul codice sorgente in questo controllo, vedere Procedura dettagliata: Modifica delle modalità di visualizzazione in una pagina web part.

<%@ control language="C#" classname="DisplayModeMenuCS"%>
<script runat="server">
  
 // Use a field to reference the current WebPartManager.
  WebPartManager _manager;

  void Page_Init(object sender, EventArgs e)
  {
    Page.InitComplete += new EventHandler(InitComplete);
  }  

  void InitComplete(object sender, System.EventArgs e)
  {
    _manager = WebPartManager.GetCurrentWebPartManager(Page);

    String browseModeName = WebPartManager.BrowseDisplayMode.Name;

    // Fill the dropdown with the names of supported display modes.
    foreach (WebPartDisplayMode mode in _manager.SupportedDisplayModes)
    {
      String modeName = mode.Name;
      // Make sure a mode is enabled before adding it.
      if (mode.IsEnabled(_manager))
      {
        ListItem item = new ListItem(modeName, modeName);
        DisplayModeDropdown.Items.Add(item);
      }
    }

    // If shared scope is allowed for this user, display the scope-switching
    // UI and select the appropriate radio button for the current user scope.
    if (_manager.Personalization.CanEnterSharedScope)
    {
      Panel2.Visible = true;
      if (_manager.Personalization.Scope == PersonalizationScope.User)
        RadioButton1.Checked = true;
      else
        RadioButton2.Checked = true;
    }
    
  }
 
  // Change the page to the selected display mode.
  void DisplayModeDropdown_SelectedIndexChanged(object sender, EventArgs e)
  {
    String selectedMode = DisplayModeDropdown.SelectedValue;

    WebPartDisplayMode mode = _manager.SupportedDisplayModes[selectedMode];
    if (mode != null)
      _manager.DisplayMode = mode;
  }

  // Set the selected item equal to the current display mode.
  void Page_PreRender(object sender, EventArgs e)
  {
    ListItemCollection items = DisplayModeDropdown.Items;
    int selectedIndex = 
      items.IndexOf(items.FindByText(_manager.DisplayMode.Name));
    DisplayModeDropdown.SelectedIndex = selectedIndex;
  }

  // Reset all of a user's personalization data for the page.
  protected void LinkButton1_Click(object sender, EventArgs e)
  {
    _manager.Personalization.ResetPersonalizationState();
  }

  // If not in User personalization scope, toggle into it.
  protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
  {
    if (_manager.Personalization.Scope == PersonalizationScope.Shared)
      _manager.Personalization.ToggleScope();
  }

  // If not in Shared scope, and if user is allowed, toggle the scope.
  protected void RadioButton2_CheckedChanged(object sender, EventArgs e)
  {
    if (_manager.Personalization.CanEnterSharedScope && 
        _manager.Personalization.Scope == PersonalizationScope.User)
      _manager.Personalization.ToggleScope();
  }
</script>
<div>
  <asp:Panel ID="Panel1" runat="server" 
    Borderwidth="1" 
    Width="230" 
    BackColor="lightgray"
    Font-Names="Verdana, Arial, Sans Serif" >
    <asp:Label ID="Label1" runat="server" 
      Text=" Display Mode" 
      Font-Bold="true"
      Font-Size="8"
      Width="120" 
      AssociatedControlID="DisplayModeDropdown"/>
    <asp:DropDownList ID="DisplayModeDropdown" runat="server"  
      AutoPostBack="true" 
      Width="120"
      OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" />
    <asp:LinkButton ID="LinkButton1" runat="server"
      Text="Reset User State" 
      ToolTip="Reset the current user's personalization data for the page."
      Font-Size="8" 
      OnClick="LinkButton1_Click" />
    <asp:Panel ID="Panel2" runat="server" 
      GroupingText="Personalization Scope"
      Font-Bold="true"
      Font-Size="8" 
      Visible="false" >
      <asp:RadioButton ID="RadioButton1" runat="server" 
        Text="User" 
        AutoPostBack="true"
        GroupName="Scope" OnCheckedChanged="RadioButton1_CheckedChanged" />
      <asp:RadioButton ID="RadioButton2" runat="server" 
        Text="Shared" 
        AutoPostBack="true"
        GroupName="Scope" 
        OnCheckedChanged="RadioButton2_CheckedChanged" />
    </asp:Panel>
  </asp:Panel>
</div>
<%@ control language="vb" classname="DisplayModeMenuVB"%>
<script runat="server">
  ' Use a field to reference the current WebPartManager.
  Dim _manager As WebPartManager

  Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs)
    AddHandler Page.InitComplete, AddressOf InitComplete
  End Sub

  Sub InitComplete(ByVal sender As Object, ByVal e As System.EventArgs)
    _manager = WebPartManager.GetCurrentWebPartManager(Page)
      
    Dim browseModeName As String = WebPartManager.BrowseDisplayMode.Name
      
    ' Fill the dropdown with the names of supported display modes.
    Dim mode As WebPartDisplayMode
    For Each mode In _manager.SupportedDisplayModes
      Dim modeName As String = mode.Name
      ' Make sure a mode is enabled before adding it.
      If mode.IsEnabled(_manager) Then
        Dim item As New ListItem(modeName, modeName)
        DisplayModeDropdown.Items.Add(item)
      End If
    Next mode
      
    ' If shared scope is allowed for this user, display the scope-switching
    ' UI and select the appropriate radio button for the current user scope.
    If _manager.Personalization.CanEnterSharedScope Then
      Panel2.Visible = True
      If _manager.Personalization.Scope = PersonalizationScope.User Then
        RadioButton1.Checked = True
      Else
        RadioButton2.Checked = True
      End If
    End If
   
  End Sub

  ' Change the page to the selected display mode.
  Sub DisplayModeDropdown_SelectedIndexChanged(ByVal sender As Object, _
    ByVal e As EventArgs)
    
    Dim selectedMode As String = DisplayModeDropdown.SelectedValue   
    Dim mode As WebPartDisplayMode = _
      _manager.SupportedDisplayModes(selectedMode)
    If Not (mode Is Nothing) Then
      _manager.DisplayMode = mode
    End If

  End Sub
   
  ' Set the selected item equal to the current display mode.
  Sub Page_PreRender(ByVal sender As Object, ByVal e As EventArgs)
    Dim items As ListItemCollection = DisplayModeDropdown.Items
    Dim selectedIndex As Integer = _
      items.IndexOf(items.FindByText(_manager.DisplayMode.Name))
    DisplayModeDropdown.SelectedIndex = selectedIndex

  End Sub

  ' Reset all of a user's personalization data for the page.
  Protected Sub LinkButton1_Click(ByVal sender As Object, _
    ByVal e As EventArgs)
    
    _manager.Personalization.ResetPersonalizationState()
    
  End Sub

  ' If not in User personalization scope, toggle into it.
  Protected Sub RadioButton1_CheckedChanged(ByVal sender As Object, _
    ByVal e As EventArgs)
    
    If _manager.Personalization.Scope = PersonalizationScope.Shared Then
      _manager.Personalization.ToggleScope()
    End If

  End Sub
   
  ' If not in Shared scope, and if user is allowed, toggle the scope.
  Protected Sub RadioButton2_CheckedChanged(ByVal sender As Object, _
    ByVal e As EventArgs)
    
    If _manager.Personalization.CanEnterSharedScope AndAlso _
      _manager.Personalization.Scope = PersonalizationScope.User Then
      _manager.Personalization.ToggleScope()
    End If

  End Sub

</script>
<div>
  <asp:Panel ID="Panel1" runat="server" 
    Borderwidth="1" 
    Width="230" 
    BackColor="lightgray"
    Font-Names="Verdana, Arial, Sans Serif" >
    <asp:Label ID="Label1" runat="server" 
      Text=" Display Mode" 
      Font-Bold="true"
      Font-Size="8"
      Width="120" 
      AssociatedControlID="DisplayModeDropdown"/>
    <asp:DropDownList ID="DisplayModeDropdown" runat="server"  
      AutoPostBack="true" 
      Width="120"
      OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" />
    <asp:LinkButton ID="LinkButton1" runat="server"
      Text="Reset User State" 
      ToolTip="Reset the current user's personalization data for the page."
      Font-Size="8" 
      OnClick="LinkButton1_Click" />
    <asp:Panel ID="Panel2" runat="server" 
      GroupingText="Personalization Scope"
      Font-Bold="true"
      Font-Size="8" 
      Visible="false" >
      <asp:RadioButton ID="RadioButton1" runat="server" 
        Text="User" 
        AutoPostBack="true"
        GroupName="Scope" OnCheckedChanged="RadioButton1_CheckedChanged" />
      <asp:RadioButton ID="RadioButton2" runat="server" 
        Text="Shared" 
        AutoPostBack="true"
        GroupName="Scope" 
        OnCheckedChanged="RadioButton2_CheckedChanged" />
    </asp:Panel>
  </asp:Panel>
</div>

Questo esempio di codice include anche una pagina HTML che potrebbe contenere contenuto della Guida per il TextDisplayWebPart controllo. Per il funzionamento di questo esempio, è necessario salvare il codice seguente in un file denominato Textwebparthelp.htm e inserirlo nella stessa directory del sito della pagina .aspx che ospita il TextDisplayWebPart controllo.

<html>  
<head runat="server">  
    <title>Text Content WebPart Help</title>  
</head>  
<body>  
  <div>  
  <h1>Text Content WebPart Help</h1>  
  To make the WebPart control work...  
  </div>  
</body>  
</html>  

L'esempio di codice include anche la classe parziale seguente che contiene il codice per gestire gli eventi nella pagina .aspx.

using System;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

public partial class WebPartZoneBase_verbs : System.Web.UI.Page
{
  protected void Page_Load(Object sender, EventArgs e)
  {
    if (WebPartZone1.WebParts.Count == 0)
      Table1.Visible = false;
    else
      Table1.Visible = true;

    // Enable all verbs on the first page load.
    if (!IsPostBack)
    {
      foreach (ListItem item in CheckBoxList1.Items)
        item.Selected = true;
      CheckBoxList1_SelectedItemIndexChanged(sender, e);
    } 
  }

  protected void CheckBoxList1_SelectedItemIndexChanged(Object sender, EventArgs e)
  {
    foreach (ListItem item in CheckBoxList1.Items)
    {
      WebPartVerb theVerb;
      switch (item.Value)
      {
        case "close":
          theVerb = WebPartZone1.CloseVerb;
          break;
        case "export":
          theVerb = WebPartZone1.ExportVerb;
          break;
        case "delete":
          theVerb = WebPartZone1.DeleteVerb;
          break;
        case "minimize":
          theVerb = WebPartZone1.MinimizeVerb;
          break;
        case "restore":
          theVerb = WebPartZone1.RestoreVerb;
          break;
        default:
          theVerb = null;
          break;
      }

      if (item.Selected)
        theVerb.Enabled = true;
      else
        theVerb.Enabled = false;
    }
  }
}
Imports System.Text
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts

Public Partial Class WebPartZoneBase_verbs

  Inherits System.Web.UI.Page

  Protected Sub Page_Load(ByVal sender As [Object], ByVal e As EventArgs)
    If WebPartZone1.WebParts.Count = 0 Then
      Table1.Visible = False
    Else
      Table1.Visible = True
    End If

    ' Enable all verbs on the first page load.
    If Not IsPostBack Then
      Dim item As ListItem
      For Each item In CheckBoxList1.Items
        item.Selected = True
      Next item
      CheckBoxList1_SelectedItemIndexChanged(sender, e)
    End If
  End Sub
    
  Protected Sub CheckBoxList1_SelectedItemIndexChanged(ByVal sender As [Object], ByVal e As EventArgs)
    Dim item As ListItem
    For Each item In CheckBoxList1.Items
      Dim theVerb As WebPartVerb
      Select Case item.Value
        Case "close"
          theVerb = WebPartZone1.CloseVerb
        Case "export"
          theVerb = WebPartZone1.ExportVerb
        Case "delete"
          theVerb = WebPartZone1.DeleteVerb
        Case "minimize"
          theVerb = WebPartZone1.MinimizeVerb
        Case "restore"
          theVerb = WebPartZone1.RestoreVerb
        Case Else
          theVerb = Nothing
      End Select

      If item.Selected Then
        theVerb.Enabled = True
      Else
        theVerb.Enabled = False
      End If
    Next item

  End Sub

End Class

L'altra parte dell'esempio di codice è la pagina .aspx che ospita il TextDisplayWebPart controllo e illustra l'uso della HelpVerb proprietà. Si noti che nella parte superiore della pagina viene usata una <@ Register %> dichiarazione per fare riferimento al controllo compilato, che deve essere inserito in una sottocartella denominata TextDisplayWebPart Bin.

<%@ Page Language="C#" 
  Codefile="webpartzonebase_verbs.cs"
  Inherits="WebPartZoneBase_verbs"  %>
<%@ register TagPrefix="uc1" 
  TagName="DisplayModeMenuCS" 
  Src="DisplayModeMenuCS.ascx" %>
<%@ register tagprefix="aspSample" 
  Namespace="Samples.AspNet.CS.Controls" 
  Assembly="TextDisplayWebPartCS" %>

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

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>WebPartZoneBase Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="WebPartManager1" Runat="server" />
      <uc1:DisplayModeMenuCS ID="DisplayModeMenu1" runat="server" />
      <asp:WebPartZone ID="WebPartZone1" Runat="server">
        <CloseVerb Text="Close WebPart" />
        <HelpVerb Text="View Help" />
        <ExportVerb Text="Export WebPart Definition" />
        <DeleteVerb Text ="Delete WebPart" />
        <MinimizeVerb Description="Minimize the control" />
        <RestoreVerb Description="Restore the control" />
        <ZoneTemplate>
        </ZoneTemplate>  
      </asp:WebPartZone>
      <asp:CatalogZone ID="CatalogZone1" Runat="server">
        <ZoneTemplate>
          <asp:DeclarativeCatalogPart ID="DeclarativeCatalogPart1" 
            Runat="server">
            <WebPartsTemplate>
              <aspSample:TextDisplayWebPart 
                runat="server"   
                id="textwebpart" 
                title = "Text Content WebPart" 
                width="350px" 
                AllowClose="true"
                ExportMode="All"
                HelpMode="Modal"
                HelpUrl="TextWebPartHelp.htm" />            
            </WebPartsTemplate>
          </asp:DeclarativeCatalogPart> 
          <asp:PageCatalogPart ID="PageCatalogPart1" Runat="server" />
        </ZoneTemplate>
      </asp:CatalogZone>
      <asp:Table ID="Table1" Runat="server">
        <asp:TableRow>
          <asp:TableCell>
            <asp:CheckBoxList ID="CheckBoxList1" Runat="server" 
              AutoPostBack="true" 
              OnSelectedIndexChanged="CheckBoxList1_SelectedItemIndexChanged">
              <asp:ListItem Value="close">Close Verb Enabled</asp:ListItem>
              <asp:ListItem Value="delete">Delete Verb Enabled</asp:ListItem>
              <asp:ListItem Value="export">Export Verb Enabled</asp:ListItem>
              <asp:ListItem Value="minimize">Minimize Verb Enabled</asp:ListItem>
              <asp:ListItem Value="restore">Restore Verb Enabled</asp:ListItem>
            </asp:CheckBoxList>
          </asp:TableCell>
        </asp:TableRow>
      </asp:Table>
    </div>
    </form>
</body>
</html>
<%@ Page Language="VB" 
  Codefile="webpartzonebase_verbs.vb"
  Inherits="WebPartZoneBase_verbs"  %>
<%@ register TagPrefix="uc1" 
  TagName="DisplayModeMenuVB" 
  Src="DisplayModeMenuVB.ascx" %>
<%@ register tagprefix="aspSample" 
  Namespace="Samples.AspNet.VB.Controls" 
  Assembly="TextDisplayWebPartVB" %>

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

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>WebPartZoneBase Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="WebPartManager1" Runat="server" />
      <uc1:DisplayModeMenuVB ID="DisplayModeMenu1" runat="server" />
      <asp:WebPartZone ID="WebPartZone1" Runat="server">
        <CloseVerb Text="Close WebPart" />
        <HelpVerb Text="View Help" />
        <ExportVerb Text="Export WebPart Definition" />
        <DeleteVerb Text ="Delete WebPart" />
        <MinimizeVerb Description="Minimize the control" />
        <RestoreVerb Description="Restore the control" />
        <ZoneTemplate>
        </ZoneTemplate>  
      </asp:WebPartZone>
      <asp:CatalogZone ID="CatalogZone1" Runat="server">
        <ZoneTemplate>
          <asp:DeclarativeCatalogPart ID="DeclarativeCatalogPart1" 
            Runat="server">
            <WebPartsTemplate>
              <aspSample:TextDisplayWebPart 
                runat="server"   
                id="textwebpart" 
                title = "Text Content WebPart" 
                width="350px" 
                AllowClose="true"
                ExportMode="All"
                HelpMode="Modal"
                HelpUrl="TextWebPartHelp.htm" />            
            </WebPartsTemplate>
          </asp:DeclarativeCatalogPart> 
          <asp:PageCatalogPart ID="PageCatalogPart1" Runat="server" />
        </ZoneTemplate>
      </asp:CatalogZone>
      <asp:Table ID="Table1" Runat="server">
        <asp:TableRow>
          <asp:TableCell>
            <asp:CheckBoxList ID="CheckBoxList1" Runat="server" 
              AutoPostBack="true" 
              OnSelectedIndexChanged="CheckBoxList1_SelectedItemIndexChanged">
              <asp:ListItem Value="close">Close Verb Enabled</asp:ListItem>
              <asp:ListItem Value="delete">Delete Verb Enabled</asp:ListItem>
              <asp:ListItem Value="export">Export Verb Enabled</asp:ListItem>
              <asp:ListItem Value="minimize">Minimize Verb Enabled</asp:ListItem>
              <asp:ListItem Value="restore">Restore Verb Enabled</asp:ListItem>
            </asp:CheckBoxList>
          </asp:TableCell>
        </asp:TableRow>
      </asp:Table>
    </div>
    </form>
</body>
</html>

Si noti anche che la HelpVerb proprietà viene usata in modo dichiarativo sull'elemento <asp:WebPartZone> per impostare il testo per il verbo, come illustrato nell'esempio di codice seguente.

<asp:WebPartZone ID="WebPartZone1" Runat="server">
  <CloseVerb Text="Close WebPart" />
  <HelpVerb Text="View Help" />
  <ExportVerb Text="Export WebPart Definition" />
  <DeleteVerb Text ="Delete WebPart" />
  <MinimizeVerb Description="Minimize the control" />
  <RestoreVerb Description="Restore the control" />
  <ZoneTemplate>
  </ZoneTemplate>  
</asp:WebPartZone>
<asp:WebPartZone ID="WebPartZone1" Runat="server">
  <CloseVerb Text="Close WebPart" />
  <HelpVerb Text="View Help" />
  <ExportVerb Text="Export WebPart Definition" />
  <DeleteVerb Text ="Delete WebPart" />
  <MinimizeVerb Description="Minimize the control" />
  <RestoreVerb Description="Restore the control" />
  <ZoneTemplate>
  </ZoneTemplate>  
</asp:WebPartZone>

Si noti infine nell'esempio di codice seguente che la HelpUrl proprietà è impostata sull'elemento <aspSample:TextDisplayPart> per fornire l'URL al file della Guida.

<asp:CatalogZone ID="CatalogZone1" Runat="server">
  <ZoneTemplate>
    <asp:DeclarativeCatalogPart ID="DeclarativeCatalogPart1" 
      Runat="server">
      <WebPartsTemplate>
        <aspSample:TextDisplayWebPart 
          runat="server"   
          id="textwebpart" 
          title = "Text Content WebPart" 
          width="350px" 
          AllowClose="true"
          ExportMode="All"
          HelpMode="Modal"
          HelpUrl="TextWebPartHelp.htm" />            
      </WebPartsTemplate>
    </asp:DeclarativeCatalogPart> 
    <asp:PageCatalogPart ID="PageCatalogPart1" Runat="server" />
  </ZoneTemplate>
</asp:CatalogZone>
<asp:CatalogZone ID="CatalogZone1" Runat="server">
  <ZoneTemplate>
    <asp:DeclarativeCatalogPart ID="DeclarativeCatalogPart1" 
      Runat="server">
      <WebPartsTemplate>
        <aspSample:TextDisplayWebPart 
          runat="server"   
          id="textwebpart" 
          title = "Text Content WebPart" 
          width="350px" 
          AllowClose="true"
          ExportMode="All"
          HelpMode="Modal"
          HelpUrl="TextWebPartHelp.htm" />            
      </WebPartsTemplate>
    </asp:DeclarativeCatalogPart> 
    <asp:PageCatalogPart ID="PageCatalogPart1" Runat="server" />
  </ZoneTemplate>
</asp:CatalogZone>

Dopo aver caricato la pagina in un browser, fare clic sulla voce di menu Modalità catalogo nel controllo elenco a discesa Modalità visualizzazione per passare alla pagina in modalità di visualizzazione del catalogo. Aggiungere il controllo alla pagina, chiudere il TextDisplayWebPart catalogo e restituire la pagina alla normale modalità di esplorazione. Se si fa clic sul menu a discesa verbi nella barra del titolo del TextDisplayWebPart controllo, è possibile accedere al verbo della Guida per aprire la pagina Della Guida.

Commenti

La HelpVerb proprietà può essere accessibile in modo dichiarativo o a livello di codice. È possibile accedervi dichiarativamente all'interno di una zona usando l'elemento <asp:HelpVerb> per impostare il testo, la descrizione, se il verbo è abilitato e altri attributi. Non è tuttavia necessario dichiarare un verbo della guida per una zona, perché è abilitato per impostazione predefinita. L'unico passaggio necessario per abilitare un verbo della Guida da visualizzare nel menu verbi dei WebPart controlli in un fuso in fase di esecuzione consiste nell'assegnare HelpUrl un valore alla proprietà per i singoli WebPart controlli.

Si applica a

Vedi anche