UpdatePanelAnimationExtender: нет анимации при нажатии определенной кнопки - PullRequest
1 голос
/ 27 января 2009

У меня есть GridView внутри UpdatePanel, который заполняется, когда поиск выполняется на странице. Когда он заполнен или страница изменена, он выполняет анимацию исчезновения. Есть другие операции, которые я хочу выполнить, чтобы обновить UpdatePanel, но я не хочу, чтобы они выполняли анимацию затухания. Самое близкое, что я нашел на форумах ASP: http://forums.asp.net/p/1037038/1487096.aspx

Проблема с решением, предложенным в этом потоке, заключается в том, что невозможно перехватить события Updates и Updating для анимации. Есть идеи?

Спасибо

Ник

Ответы [ 2 ]

1 голос
/ 04 февраля 2009

Просто хотел добавить код для этого ответа, так как мне удалось найти хорошее решение для этого, используя код из разных мест. :) (некоторые были вставлены, некоторые отредактированы; окончательная версия этого не проверена, но вы должны быть в состоянии получить идею из этого!)

var postbackElement; // Global to store the control that initiated the postback

// Using JQuery here
$(document).ready(function()
{
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequest);
    Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoaded);
});

function beginRequest(sender, args)
{
    postbackElement = args.get_postBackElement();

    // This method can be used to do animations in place of OnUpdating

    if(postbackElement.id == "YourControlId")
    {
      // or something like: if(id == "<%= YourControl.ClientID %>")

      // run your animation here
    }
}

function pageLoaded(sender, args)
{
    // This method can be used to do animations in place of OnUpdated

    // Also, the args variable holds a list of panels that are being updated;
    // I didn't use this though.

    // This condition is true on the first page load
    if (typeof(postbackElement) === "undefined")
    {
        return;
    }

    if(postbackElement.id == "YourControlId")
    {
      // run your animation here
    }
}
1 голос
/ 28 января 2009

Ник

Можно ли рассмотреть возможность использования JQuery для анимации? Может дать вам больше контроля над элементами, чем просто использование UpdatePanelAnimationExtender.

http://jquery.com/

http://docs.jquery.com/UI/Effects

...