исчезновение и исчезновение в asp.net - PullRequest
0 голосов
/ 25 мая 2011

Привет, у меня есть всплывающее окно, которое появляется с исчезновением и закрывается с исчезновением. Проблема в том, что когда анимация затухания создает сообщение обратно, я не хочу этого, я хочу, чтобы он работал как свойство CancelControlID в всплывающем окне модели.

примечание

я не могу установить свойство CancelControlID на кнопку закрытия, потому что тогда анимация не выполняется

см. Код

Кнопка

<asp:Button ID="btnNewPopUp" CssClass="btnNewPopUp" runat="server" Text="Crear Capas"/>
            <asp:ModalPopupExtender BackgroundCssClass="modalBackground" DropShadow="true" OkControlID="btnOk" runat="server" PopupControlID="pnlPopUpSetLayers" id="mdlPopUp" TargetControlID="btnNewPopUp" >
            </asp:ModalPopupExtender>

Панель

<asp:Panel ID="pnlPopUpSetLayers" runat="server" CssClass="popUp" > 
    <table id="tbl" class="tableFinder">
        <tr>
            <td colspan="2">
                <div class="header1">Crear capas</div>
            </td>
        </tr>
        <tr>
            <td>
                <asp:Label ID="lblLayerName" CssClass="formatText" runat="server" Text="Nombre de la Capa"></asp:Label>
            </td>
            <td>
            </td>
        </tr>
    </table>
    <asp:Button ID="btnOk" runat="server" Text="Ok" /> 
    <asp:Button ID="btnClose" runat="server" Text="Close Me" /> 
</asp:Panel>

анимации

<asp:AnimationExtender id="MyExtender" runat="server" TargetControlID="btnNewPopUp">
    <Animations>
        <OnClick>
            <FadeIn AnimationTarget="pnlPopUpSetLayers" Duration=".5" Fps="20" />
        </OnClick>
    </Animations>
</asp:AnimationExtender>

<asp:AnimationExtender id="AnimationExtender1" runat="server" TargetControlID="btnClose">
    <Animations>
        <OnClick>
            <FadeOut AnimationTarget="pnlPopUpSetLayers" Duration=".5" Fps="20" />
        </OnClick>
    </Animations>
</asp:AnimationExtender>

Ответы [ 2 ]

2 голосов
/ 25 мая 2011

Я лично ненавижу расширители анимации ... ты думал о переходе на jQuery?Если это так, JavaScript будет так просто:

jQuery('#<%=pnlPopUpSetLayers.ClientID %>').fadeIn();
jQuery('#<%=pnlPopUpSetLayers.ClientID %>').fadeOut();
1 голос
/ 25 мая 2011
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>

<style type="text/css">
    .panel{display: none;}
</style>
<script type="text/javascript">
    $(function () {
        $('#btnShowPanel').click(function (e) {
            e.preventDefault();
            $('#pnlHelloWorld').fadeIn('slow');
        });

        $('#btnClose').click(function (e) {
            e.preventDefault();
            $('#pnlHelloWorld').fadeOut('slow');
        });
    });
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
    <asp:Button ID="btnShowPanel" Text="Show" runat="server" />

    <asp:Panel ID="pnlHelloWorld" CssClass="panel" runat="server">
        Hello World!<br />

        <asp:Button ID="btnClose" Text="Close" runat="server" />
    </asp:Panel>
</div>
</form>

...