Как показать загрузочный загрузчик из кода позади?
У меня есть кнопка, которая открывает попсовый загрузчик. Это разметка.
<HeaderStyle Width="6%"></HeaderStyle>
<ItemTemplate>
<asp:LinkButton runat="server" ID="button1" data-toggle="popover" CssClass="btn btn-primary" Text="Button1" />
</ItemTemplate>
Javascript:
$('[data-toggle="popover"]').popover({
placement: 'left',
trigger: 'click',
html: true,
content: $('#testDiv')
});
Цель состоит в том, чтобы отобразить всплывающее окно начальной загрузки из кода, стоящего за кодом на стороне сервера. Это то, что я пытался из кода, который не работает.
C#
ScriptManager.RegisterStartupScript(this, GetType(), "popoverscript", "$('#testDiv').popover('show'); ", true);
Любое предложение высоко ценится.
2 ответа
Звучит как код, чтобы показать popover
не выполняется, потому что библиотека jQuery может еще не загружена или не загружена ready
состояние при попытке позвонить popover('show')
функция в RegisterStartupScript
метод. Попробуйте обернуть этот вызов функции внутри document.ready
блок:
string script = "$(function() { $('#testDiv').popover('show'); });"
ScriptManager.RegisterStartupScript(this, GetType(), "popoverscript", script, true);
Примечание: также убедитесь, что $('[data-toggle="popover"]').popover(...)
определение уже обернуто внутри document.ready
заблокировать, если popover
все еще не появляется.
Похожие проблемы:
Чтобы прояснить решение, мы нашли немного:
Это была проблема времени. Мы пытались инициализировать всплывающие окна в JavaScript. Мы положили это:
$('[data-toggle="popover"]').popover({
placement: 'left',
trigger: 'click',
html: true,
content: $('#testDiv')
});
внутри звонка Sys.Application.add_load()
, Проблема была в том, что когда мы пошли показывать всплывающее окно с сервера, всплывающие окна еще не были инициализированы, потому что что-либо на клиенте будет выполняться после того, как сервер будет готов. Решение состояло в том, чтобы переместить инициализацию и вызов для отображения внутри обработчика событий щелчка кнопки на стороне сервера, чтобы убедиться, что они были инициализированы и затем показаны в правильном порядке.
В событии кнопки C#:
ScriptManager.RegisterStartupScript(this, GetType(), "popoverscript", "$('#" +
button.ClientID + "').popover({ html: true, content: $('#actionButtonDiv'),
container: 'body', trigger: 'focus', placement: 'left'});", true);
ScriptManager.RegisterStartupScript(this, GetType(), "show", "$('#" + button.ClientID
+ "').popover('show');", true);