Я видел похожие проблемы с этим и ответы, но никто, кажется, не исправляет проблему.asp.net usercontrol не будет запускать javascript внутри updatepanel
У меня есть пользовательский элемент управления внутри панели обновления. Внутри моего пользовательского элемента управления я выводил javascript.
javascript не срабатывает при срабатывании. Если я перемещаю javascript на родительскую страницу за пределами панели usercontrol/update, он запускается. Это не имеет смысла делать, поскольку я не могу использовать этот usercontrol на другой странице без дублирования кода ... путем дублирования всего javascript (другого сайта) или добавления ссылок на файл .js на каждой используемой странице на (тот же сайт). Это просто менее портативно
Я просто хочу вывести javascript с помощью элемента управления (внутри панели обновления).
Обновленная панель упоминается для точности того, что я делаю. Он не работает, даже если я размещаю usercontrol вне пакетов обновлений.
Хранение простое (Это не работает для меня):
UserControl:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="_location.ascx.cs" Inherits="_location" %>
<script type="text/javascript">
function test() {
alert('Hello World!');
}
</script>
<a href="javascript:void(0);" onclick="javascript:test();">
Find For Me
</a>
РОДИТЕЛЕЙ:
<uc1:_location runat="server" ID="_location" />
Debugging в хроме говорит мне «Uncaught ReferenceError: тест не определенный "
Если я добавлю javascript непосредственно в onclick, как показано ниже, он работает:
onclick="alert('Hello World!');"
И как указано выше, перемещение функции на родительскую страницу ТАКЖЕ работает.
Это как если бы браузер игнорировал вывод сценария из пользовательского элемента управления.
Любые идеи?
Ваш код отлично подходит для меня. – chamara
@chamara Этот код не работает, если вы его вызываете и обновляете изнутри UpdatePanel. – Aristos