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à

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

Attributi

Esempio

Nell'esempio di codice seguente viene illustrato il problema di rendering che influisce sull'altezza dei WebPart controlli in un oggetto WebPartZone. 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 dei controlli all'interno non è impostata in modo esplicito. Il risultato è che in WebPartZone, il controllo più WebPart breve non si estende all'altezza della zona durante il rendering. Tuttavia, se si rimuove la DOCTYPE dichiarazione dalla pagina e si esegue di nuovo la 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 provare con questo esempio di codice per osservare il problema di rendering correlato all'altezza nell'altro LayoutOrientation scenario, che si verifica quando la zona è impostata su Vertical. Rimuovere l'attributo esistente LayoutOrientation e il relativo valore dall'elemento <asp:webpartzone> , che causerà il ripristino dell'orientamento verticale predefinito della zona. Impostare l'attributo height sull'elemento <asp:webpartzone> su 200 pixel, come in precedenza, ed eseguire la pagina. L'altezza della zona è troppo grande e i controlli non vengono ridimensionati proporzionalmente all'altezza della zona. Rimuovere ora l'attributo height ed eseguire di nuovo la pagina. I controlli ora eseguono il rendering rispetto all'altezza della zona.

Commenti

Internet Explorer modalità di rendering possono influire sull'altezza di un controllo WebPart 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 dichiarazione di DOCTYPE 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 viene eseguito il rendering dei controlli e della relativa zona contenitore in modo che i controlli non si estendono fino all'altezza intera della zona.

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

  • Quando la proprietà di LayoutOrientation una zona è impostata su Vertical e si imposta in modo esplicito l'altezza nella zona. Per consentire ai controlli di riempire l'altezza intera 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 consentire ai controlli di riempire l'altezza intera della zona, impostare l'altezza della zona o dei controlli in una zona orientata verticalmente.

Si applica a

Vedi anche