WebPart.Height Proprietà

Definizione

Ottiene o imposta l'altezza di una zona.

public:
 virtual property System::Web::UI::WebControls::Unit Height { System::Web::UI::WebControls::Unit get(); void set(System::Web::UI::WebControls::Unit value); };
[System.Web.UI.WebControls.WebParts.Personalizable]
public override System.Web.UI.WebControls.Unit Height { get; set; }
[<System.Web.UI.WebControls.WebParts.Personalizable>]
member this.Height : System.Web.UI.WebControls.Unit with get, set
Public Overrides Property Height As Unit

Valore della proprietà

Unit

Oggetto Unit che indica l'altezza di un oggetto WebPartZone. Il tipo predefinito di un oggetto Unit è pixel, come indicato dalla proprietà Type.

Attributi

Esempio

Nell'esempio di codice seguente viene illustrato il problema di rendering che influisce sull'altezza dei WebPart controlli in un WebPartZoneoggetto . Per illustrare questo problema, è necessario eseguire la pagina in Internet Explorer.

Si noti che l'orientamento della zona è impostato su orizzontale e che l'altezza della zona e i controlli all'interno non sono impostati in modo esplicito. Il risultato è che nel WebPartZonecontrollo , il controllo più WebPart breve non si estende all'altezza della zona al rendering. Tuttavia, se si rimuove la dichiarazione dalla pagina ed esegui nuovamente la DOCTYPE pagina, il problema non si verifica, perché ora il browser non eseguirà il rendering della pagina in modalità standard.

<%@ 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)
  {
    wpmgr.DisplayMode = WebPartManager.DesignDisplayMode;
  }
  protected void Button2_Click(object sender, EventArgs e)
  {
    wpmgr.DisplayMode = WebPartManager.BrowseDisplayMode;
  }

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:webpartmanager id="wpmgr" runat="server" />
      <asp:webpartzone id="WebPartZone1" runat="server" 
        layoutorientation="horizontal">
        <zonetemplate>
          <asp:textbox id="TextBox1" runat="server" title="Text input">
          </asp:textbox>
          <asp:calendar id="Calendar1" runat="server" title="Personal Calendar" />
        </zonetemplate>
      </asp:webpartzone>
      <asp:button id="Button1" runat="server" text="Design Mode" 
        onclick="Button1_Click" />
      <br />
      <asp:button id="Button2" runat="server" onclick="Button2_Click" 
        text="Browse Mode" />
    </form>
</body>
</html>
<%@ 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)
    
    wpmgr.DisplayMode = WebPartManager.DesignDisplayMode
    
  End Sub

  Protected Sub Button2_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs)
    
    wpmgr.DisplayMode = WebPartManager.BrowseDisplayMode
    
  End Sub
  
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:webpartmanager id="wpmgr" runat="server" />
      <asp:webpartzone id="WebPartZone1" runat="server" 
        layoutorientation="horizontal">
        <zonetemplate>
          <asp:textbox id="TextBox1" runat="server" title="Text input">
          </asp:textbox>
          <asp:calendar id="Calendar1" runat="server" title="Personal Calendar" />
        </zonetemplate>
      </asp:webpartzone>
      <asp:button id="Button1" runat="server" text="Design Mode" 
        onclick="Button1_Click" />
      <br />
      <asp:button id="Button2" runat="server" onclick="Button2_Click" 
        text="Browse Mode" />
    </form>
</body>
</html>

Per vedere come funziona la soluzione alternativa (descritta nella sezione Osservazioni), provare ad aggiungere un height attributo all'elemento <asp:webpartzone> , mantenendo la DOCTYPE dichiarazione nella pagina. È possibile usare il codice seguente per aggiungere l'attributo al tag:

Height="200px"

Eseguire la pagina e ora entrambi i WebPart controlli si estendono per riempire l'altezza dichiarata in modo esplicito della zona.

È anche possibile sperimentare questo esempio di codice per osservare il problema di rendering correlato all'altezza nell'altro scenario, che si verifica quando l'area LayoutOrientation è impostata su Vertical. Rimuovere l'attributo esistente LayoutOrientation e il relativo valore dall'elemento <asp:webpartzone> , che causerà il ripristino dell'orientamento della zona all'orientamento verticale predefinito. Impostare l'attributo height sull'elemento <asp:webpartzone> su 200 pixel, come è stato fatto sopra ed eseguire la pagina. L'altezza della zona è troppo grande e i controlli non sono ridimensionati in modo proporzionale all'altezza della zona. Rimuovere ora l'attributo height ed eseguire di nuovo la pagina. I controlli vengono ora visualizzati in relazione all'altezza della zona.

Commenti

Le modalità di rendering di Internet Explorer possono influire sull'altezza di un WebPart controllo e sull'altezza della zona che lo contiene. Internet Explorer esegue il rendering delle pagine Web in modalità compatibilità (compatibile con le versioni precedenti del browser) o in modalità standard (determinata dalla presenza di una DOCTYPE dichiarazione nella pagina). Per informazioni su queste modalità, vedere la proprietà compatMode DHTML.

Quando Internet Explorer esegue il rendering di una pagina in modalità standard, in alcune circostanze potrebbe non ridimensionare le celle nelle tabelle, anche quando il markup HTML di una cella è <td height="100%">. Di conseguenza, WebPart i controlli e la loro zona contenente vengono sottoposti a rendering in modo che i controlli non si estendono all'altezza completa della zona.

Quando Internet Explorer è in modalità standard, i controlli non eseguono il rendering per estendere l'altezza completa nei casi seguenti:

  • Quando la proprietà di LayoutOrientation una zona è impostata su Vertical e si imposta in modo esplicito l'altezza sulla zona. Per abilitare i controlli per riempire l'altezza completa della zona, non specificare l'altezza di una zona orientata orizzontalmente.

  • Quando la proprietà di LayoutOrientation una zona è impostata su Horizontal e non si imposta in modo esplicito l'altezza della zona o dei controlli contenuti. Per abilitare i controlli per riempire l'altezza completa della zona, impostare l'altezza della zona o dei controlli in una zona orientata verticalmente.

Si applica a

Vedi anche