s yu Ответов: 1

Got javascript runtime error: myfunction не определена


В моем коде-за кодом,
Page.ClientScript.RegisterStartupScript(
     GetType(),
     "Javascript",
     "javascript:myFunction();",
     true);
//// --------- Below is the JavaScript function in .aspx
function myFunction() {
   debugger;
}     

Got Uncaught reference error (или JavaScript runtime error): myFunction не определена. Как это можно отладить? Спасибо.

Что я уже пробовал:

Got JavaScript Runtime error: "xxx" не определен

Karthik_Mahalingam

протестировал свой код, он работает идеально, проблема в том, чтобы поместить код в нужное место.
вам придется предоставить дополнительную информацию или соответствующий код для понимания проблемы.

ZurdoDev

ХХХ точное сообщение об ошибке? Если нет, дайте точную ошибку. Если это так, то где-то вы называете что-то под названием xxx, и оно не существует.

s yu

Здесь xxx = myFunction

ZurdoDev

Вы должны быть предельно ясны. Разместите точные ошибки. Откуда бы вы его ни вызывали, он его не видит. Я не думаю, что вам нужен "javascript:myFunction ()", вы можете просто сделать "myFunction ();", но я не знаю, будет ли это иметь большое значение.

s yu

Протестировано w/ и w / javascript: перед myFunction. Сообщение об ошибке идентично.

ZurdoDev

Откуда ты звонишь? Вам тоже нужно это опубликовать.

Karthik_Mahalingam

опубликуйте весь код.

s yu

В моем проекте,
1) Нажмите кнопку btn_Query, чтобы сначала вызвать клиентский javascript.
2) в javascript он вызывает событие code-behind
document. getElementById('<%=btnQuery.ClientID%>'). нажмите кнопку();
3) в коде-behind: btnQuery_Click(Object sender, EventArgs e) есть код: Page.ClientScript.RegisterStartupScript()
Я предполагаю, что это может не позволить мне снова запустить javascript.

ZurdoDev

Я советую вам не пытаться постоянно ходить туда-сюда между JS и C#. Почему вы не можете позвонить всем своим JS из JS?

Karthik_Mahalingam

вы используете панель обновления?

1 Ответов

Рейтинг:
0

JayantaChatterjee

JavaScript выполняется сверху вниз. вот почему вам нужно сначала определите функцию, а затем вызовите ее.
В вашем случае ClientScript.RegisterStartupScript Зарегистрируйте скрипт при запуске (когда документ будет загружен), ваш myFunction определяется в нижней части страницы, это означает, что ваш myFunction все еще не был выполнен браузером..
Вы можете изменить RegisterStartupScript к RegisterClientScriptBlock после того как myFunction определяется...