.Net updatepanel + livequery
-
01-10-2019 - |
Вопрос
Я использовал LiveQuery для обнаружения, когда элемент добавлен на страницу. Элемент находится внутри .NET AJAX UpdatePanel. Когда обновленная панель обновления обновляется, Live Query не обнаруживает новый элемент.
<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');
});
Предупреждение только загоняет, когда страница сначала загружена. Не когда удпатепанель обновляется.
Решение
Live Query видит только ваши изменения, когда они сделаны через механизмы манипулирования JQUERY DOM. В Этот ответ К аналогичным вопросам я боролся с этой проблемой и предложил обходной путь на основе опроса.
Другие советы
Попробуйте упасть код jQuery внутри понравившейся нагрузке:
function pageLoad()
{
$(document).ready(function () {
$('[id$=but1]').livequery(function(event) {
alert('Button added');
});
});
}
Вам нужно будет добавить EnablePageMethods = «True» внутри вашего Tag ScriptManager:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
Не связан с StackOverflow