.NET UpdatePanel + LiveQuery - PullRequest
       10

.NET UpdatePanel + LiveQuery

0 голосов
/ 08 сентября 2010

Я использовал LiveQuery для определения момента добавления элемента на страницу. Элемент находится внутри .NET AJAX UpdatePanel. Когда UpdatePanel обновляется, живой запрос не обнаруживает новый элемент.

        <asp:UpdatePanel runat="server">
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="refresh" />
        </Triggers>
        <ContentTemplate>
            <a id="but1" href="#">Button 1</a> 
        </ContentTemplate>
    </asp:UpdatePanel>


 $('#but1').livequery(function(event) {
        alert('Button added');
    });

Предупреждение срабатывает только при первой загрузке страницы. Не тогда, когда обновляется удпатепанель.

Ответы [ 2 ]

0 голосов
/ 08 сентября 2010

попробуйте обернуть код jquery внутри pageLoad следующим образом:

function pageLoad()
{
    $(document).ready(function () {
        $('[id$=but1]').livequery(function(event) {
            alert('Button added');
        });
    });
}

Вам необходимо добавить EnablePageMethods = "true" в теге ScriptManager:

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
0 голосов
/ 08 сентября 2010

Live Query видит ваши изменения только тогда, когда они внесены с помощью механизмов манипуляции DOM jQuery. В этом ответе на аналогичный вопрос я боролся с этой проблемой и предложил обходной путь на основе опроса.

...