2010-07-07 1 views
0

Как добавить файл javascript в качестве вложенного ресурса на страницу после ajax javascript уже на странице? NB хочу сделать эту часть динамически, чтобы код был завершен в usercontrol.Зарегистрировать Javascript файл на странице aspx из WebReousrce

в ASPX странице: ScriptManager

Код: Монтаж: WebResource ("functions.js", "текст/JavaScript")

Код: OnPreRender:

ScriptManager.RegisterClientScriptResource (Me. Страница, Me.GetType(). BaseType, "Functions.js")

Этот код успешно добавляет мой код javascript на страницу, но не после AJAX javascript, и поэтому не все мои функции работают правильно.

Спасибо, Дэйв

ответ

1

Вы можете использовать GetWebResourceUrl(), чтобы получить строку пути к вашему сценарию, как поместить его должно быть на странице (возможно, что-то вроде websresource.axd? XXXX). Затем вручную вставьте тег скрипта, указывающий на путь, используя RegisterStartupScript, чтобы принудительно добавить его в конце страницы. Что-то вроде ниже ...

path = ScriptManager.GetWebResourceUrl(this.GetType(), "Fucntion.js"); 
ScriptManger.RegisterStartupScript(this.GetType(), "MyScript", "<script type=\"text/javascript\" src=\"" + path + "\"/>"); 

С сервера можно также попробовать добавить ваш сценарий позже в процессе загрузки, например, в случае пререндер. Или со стороны клиента может обернуть сценарий в нагрузку, так что он не работает код до последнего момента, как показано ниже ...

function RunOnLoad() 
{ 

    button.onclick = function() 
    { 
     alert("Clicked!"); 
    } 

} 
window.onload = RunOnLoad; 
+0

попытался ниже, ему удается зарегистрировать файл JavaScript, но появляется на веб-странице перед ajax javascripts, и поэтому функциональность не работает, есть ли способ указать порядок, то есть добавить его обратно. ScriptManager.RegisterStartupScript (Me.Page, Me.GetType, pKey, strJava, False) – Dave

+0

У вас есть контроль над тем, когда добавлен сценарий Ajax, поскольку я считаю, что это просто до добавленного заказа? Вы также можете внести изменения в файл сценария, который вы включите, чтобы он не запускался немедленно. Например, присоединитесь к загрузке в своем скрипте или выполните настройку? –

+0

Сценарий ajax автоматически добавляется ScriptManager и поэтому не имеет контроля над его добавлением. Файл javascript имеет только функции, вызываемые пользовательским событием, то есть нажатием кнопки, но его код должен ссылаться на объект ajax, созданный кодом ajax, и поэтому существует ошибка с ошибкой null, если js-файл добавлен до создания ojbect. – Dave

Смежные вопросы