Manipulowanie właściwościami kontrolki DropShadow z poziomu kodu klienta (C#)

Autor: Christian Wenz

Pobierz plik PDF

Kontrolka DropShadow w zestawie narzędzi AJAX Control Toolkit rozszerza panel z cieniem upuszczania. Właściwości tego rozszerzenia można również zmienić przy użyciu kodu JavaScript klienta.

Omówienie

Kontrolka DropShadow w zestawie narzędzi AJAX Control Toolkit rozszerza panel z cieniem upuszczania. Właściwości tego rozszerzenia można również zmienić przy użyciu kodu JavaScript klienta.

Kroki

Kod rozpoczyna się od panelu zawierającego kilka wierszy tekstu:

<asp:Panel ID="panelShadow" runat="server" CssClass="panel" Width="300px">
 ASP.NET AJAX is a free framework for quickly creating a new generation of more 
 efficient, more interactive and highly-personalized Web experiences that work 
 across all the most popular browsers.<br />
 ASP.NET AJAX is a free framework for quickly creating a new generation of more 
 efficient, more interactive and highly-personalized Web experiences that work 
 across all the most popular browsers.<br />
 ASP.NET AJAX is a free framework for quickly creating a new generation of more 
 efficient, more interactive and highly-personalized Web experiences that work 
 across all the most popular browsers.<br />
</asp:Panel>

Skojarzona klasa CSS daje panelowi ładny kolor tła:

<style type="text/css">
 .panel {background-color: navy;}
</style>

Element DropShadowExtender jest dodawany do rozszerzania panelu z efektem cienia upuszczania, nieprzezroczystość ustawiona na 50%:

<ajaxToolkit:DropShadowExtender ID="dse1" runat="server"
 TargetControlID="panelShadow"
 Opacity="0.5" Rounded="true" />

Następnie kontrolka ASP.NET AJAX ScriptManager umożliwia działanie zestawu narzędzi Control Toolkit:

<asp:ScriptManager ID="asm" runat="server" />

Inny panel zawiera dwa linki JavaScript do ustawiania nieprzezroczystości cienia: łącze minus zmniejsza nieprzezroczystość cienia, a link plus zwiększa go.

<asp:Panel ID="panelControl" runat="server">
 <br />
 <label id="txtOpacity" runat="server">0.5</label>
 <a href="#" onclick="changeOpacity(-0.1); return false;">-</a>
 <a href="#" onclick="changeOpacity(+0.1); return false;">+</a>
</asp:Panel>

Funkcja changeOpacity() JavaScript musi następnie najpierw znaleźć kontrolkę DropShadowExtender na stronie. ASP.NET AJAX definiuje metodę $find() dokładnie dla tego zadania. get_Opacity() Następnie metoda pobiera bieżącą nieprzezroczystość, set_Opacity() ustawia ją. Następnie kod JavaScript umieszcza bieżącą wartość nieprzezroczystości w elemencie <label> :

<script type="text/javascript">
 function changeOpacity(delta) 
 {
 var dse = $find("dse1");
 var o = dse.get_Opacity();
 o += delta;
 o = Math.round(10 * o) / 10;
 if (o <= 1.0 && o >= 0.0) 
 {
 dse.set_Opacity(o);
 $get("txtOpacity").firstChild.nodeValue = o;
 }
 }
</script>

Nieprzezroczystość jest zmieniana po stronie klienta

Nieprzezroczystość jest zmieniana po stronie klienta (kliknij, aby wyświetlić obraz o pełnym rozmiarze)