WebPart.Height Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia wysokość strefy.
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
Wartość właściwości
Unit Obiekt wskazujący wysokość obiektu WebPartZone. Domyślnym typem elementu Unit jest piksel, co wskazuje Type właściwość.
- Atrybuty
Przykłady
Poniższy przykład kodu przedstawia problem z renderowaniem, który wpływa na wysokość WebPart kontrolek w obiekcie WebPartZone. Aby zademonstrować ten problem, należy uruchomić stronę w programie Internet Explorer.
Należy pamiętać, że orientacja strefy jest ustawiona na poziomą, a wysokość strefy i kontrolek w niej nie jest jawnie ustawiona. Wynikiem jest to, że w elemecie WebPartZone, krótsza WebPart kontrolka nie rozciąga się na wysokość strefy podczas renderowania. Jeśli jednak usuniesz deklarację DOCTYPE
ze strony i ponownie uruchomisz stronę, problem nie wystąpi, ponieważ teraz przeglądarka nie będzie renderować strony w trybie standardów.
<%@ 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>
Aby zobaczyć, jak działa obejście (opisane w sekcji Uwagi), spróbuj dodać height
atrybut do <asp:webpartzone>
elementu, zachowując deklarację DOCTYPE
na stronie. Możesz użyć następującego kodu, aby dodać atrybut do tagu:
Height="200px"
Uruchom stronę, a teraz oba WebPart kontrolki rozciągają się, aby wypełnić jawnie zadeklarowaną wysokość strefy.
Możesz również eksperymentować z tym przykładem kodu, aby zaobserwować problem z renderowaniem związany z wysokością w innym scenariuszu, który występuje, gdy strefa jest ustawiona LayoutOrientation na Vertical. Usuń istniejący LayoutOrientation
atrybut i jego wartość z <asp:webpartzone>
elementu, co spowoduje przywrócenie domyślnej orientacji pionowej strefy. Ustaw atrybut height elementu na <asp:webpartzone>
200 pikseli, tak jak powyżej, i uruchom stronę. Wysokość strefy wygląda zbyt duży, a kontrolki nie mają proporcjonalnego rozmiaru do wysokości strefy. Teraz usuń atrybut height i ponownie uruchom stronę. Kontrolki są teraz renderowane względem wysokości strefy.
Uwagi
Tryby renderowania programu Internet Explorer mogą mieć wpływ na wysokość WebPart kontrolki i wysokość strefy, która ją zawiera. Program Internet Explorer renderuje strony sieci Web w trybie zgodności (zgodny z poprzednimi wersjami przeglądarki) lub w trybie standardów (określanym przez obecność DOCTYPE
deklaracji na stronie). Aby uzyskać informacje o tych trybach, zobacz właściwość DHTML compatMode .
Gdy program Internet Explorer renderuje stronę w trybie standardów, w niektórych okolicznościach może nie zmieniać rozmiaru komórek w tabelach, nawet gdy znaczniki HTML komórki to <td height="100%">
. W rezultacie kontrolki i ich strefa zawierająca są renderowane tak, WebPart aby kontrolki nie rozciągały się na pełną wysokość strefy.
Gdy program Internet Explorer jest w trybie standardowym, kontrolki nie są renderowane w celu rozciągnięcia do pełnej wysokości w następujących przypadkach:
Gdy właściwość strefy jest ustawiona LayoutOrientation na Vertical i jawnie ustawisz wysokość strefy. Aby umożliwić kontrolkom wypełnienie pełnej wysokości strefy, nie należy określać wysokości strefy zorientowanej poziomo.
Gdy właściwość strefy LayoutOrientation jest ustawiona na Horizontal i nie ustawisz jawnie wysokości strefy lub zawartych kontrolek. Aby umożliwić kontrolkom wypełnienie pełnej wysokości strefy, ustaw wysokość strefy lub kontrolek w strefie zorientowanej pionowo.