Невозможно вызвать функцию JavaScript из кода позади - PullRequest
0 голосов
/ 12 октября 2011

Я работаю над сборкой приложений в среде ASP.Net, я хотел вызвать функцию JavaScript из кода на C #.

Я попытался использовать метод ScriptManager.RegisterStartupScript (), он вызвал ошибку, говоря: «Имя« ScriptManager »не существует в текущем контексте», я уже включил пространство имен System.Web.UI и все же получил эту ошибку.

Есть идеи, как это может произойти? или есть лучший обходной путь, а не использование ScripManager для запуска функции JavaScript из кода позади?

спасибо заранее.

Ответы [ 4 ]

1 голос
/ 12 октября 2011
ClientScriptManager cs = Page.ClientScript;
cs.RegisterClientScriptBlock(GetType(), "GenerateMatrixText", script, true);
0 голосов
/ 12 октября 2011

Узнайте больше здесь на MSDN о RegisterStartupScript http://msdn.microsoft.com/en-us/library/asz8zsxy.aspx

Также убедитесь, что у вас есть ФОРМА на странице. Если на странице нет формы, скрипт не будет выполнен.

0 голосов
/ 12 октября 2011

Ваш вопрос не ясен. Вы хотите вызывать функцию javascript одновременно, когда выполняется код, стоящий за кодом? Если это так, то это невозможно. Javascript работает на стороне клиента, а код работает на стороне сервера. Элемент управления находится на стороне клиента или на стороне сервера, он не может быть одновременно на обеих сторонах.

Что делает ScriptManager.RegisterStartupScript, так это то, что во время загрузки документа в ваш браузер он добавляет блок скрипта внизу вашей страницы. Это позволит вам вызывать этот недавно добавленный код javascript из кода javascript на вашей странице. Это позволяет вам создавать собственный код javascript в бэкэнде и загружать его для загрузки страницы.

Если есть какой-то другой сценарий, пожалуйста, уточните.

0 голосов
/ 12 октября 2011

Попробуйте,

Page.RegisterStartupScript("some_name","javascript function enclosed with script tag")
...