2011-05-17 2 views
2
<%@ Page Language="VB" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 
    <head> 
    <script runat="server"> 

Sub Page_Load(ByVal e As System.EventArgs) 
Page.ClientScript.RegisterClientScriptInclude("basicjs", "basic.js") 
End Sub 

</script> 
    <title>RegisterClientScriptBlock Example</title> 
    </head> 
    <body> 
<form runat="server"> 
    <input type="button" id="button1" value="clickme" onclick="click()"/> 
</form> 
    </body> 
</html> 

Я использую ASP.net (только обучение) с помощью VB. Я не могу получить код Javascript для работы с кодом ASP VB. Моя основная проблема заключается в том, что файлы .js не загружаются. В примере basic.js просто содержит функцию click(), которая вызывает сообщение alert(). Как получить .js-файлы для загрузки с помощью ASP-кода?Как вы загружаете файлы .js с помощью ASP.NET?

+0

Проверьте источник HTML скачиваемой страницы, чтобы проверить, если ожидаемый сценарий включает сгенерирован, например, '' – Justin

+0

Да, это отсутствует при просмотре источника. Практически все включено, кроме всего, что содержится в тегах скрипта. Как я могу убедиться, что он не игнорирует или пропускает его? – ShrimpCrackers

+0

Вы пытались помещать точку останова в свой метод 'Page_Load', чтобы убедиться, что он правильно запущен? Также я предполагаю, что вам известно, что вы можете просто написать тег 'script' вручную в своем .aspx? – Justin

ответ

1

Для загрузки файла JavaScript не требуется серверный код. Просто поместите это в <head>:

<script src="basic.js"></script> 
+0

ASP.Net имеет mecahnisms для управления и генерации, которые включают в код позади/серверную логику, что я уверен, что плакат хочет сделать. – Justin

1

JavaScript является языком сценариев на стороне клиента. Это не то, что должен выполнить ваш сервер; клиент должен.

ASP - это серверный язык, который генерирует некоторые выходные данные, представленные пользователю. Таким образом, не может быть ответственность ASP за выполнение JavaScript.

Вместо этого вы должны просто включить JavaScript в свой HTML, тем самым сообщая клиенту выполнить его.

<script type="text/javascript" src="basic.js"></script> 
+1

Хотя технически корректно, я уверен, что плакат уже знает об этом - ASP.Net имеет mecahnisms для управления и генерации, который включает в себя логику кода/серверной логики, которую я вполне уверен в том, что плакат хочет сделать. – Justin

1

Сначала проверьте, если включить тег визуализируется на страницу при просмотре исходного кода страницы из браузера. После того, как вы установили тег include, проверьте путь к файлу скрипта.

This article explains как разрешить путь правильно

В основном используют это в событии загрузки:

Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) 
    Page.ClientScript.RegisterClientScriptInclude("basicjs", ResolveClientUrl("~/basic.js")) 
End Sub 
0

Вам необходимо включить как следовать

<script type="text/javascript"> 
    // your code goes here. 
</script> 


Если JavaScript в файле затем следуйте

<script type="text/javascript" src="javascript_file_path"> 
     // your code goes here. 
    </script> 
+0

Хотя технически корректно, я не думаю, что это то, чего пытается достичь плакат. ASP.Net имеет mecahnisms для управления и генерации, который включает в себя логику кода позади/на стороне сервера, которая, я уверен, является тем, что плакат хочет делать. – Justin

1

Это должно быть, как ...

Page.ClientScript.RegisterClientScriptInclude("JScripts", ResolveUrl("~/JSFolderName/basic.js")); 
Смежные вопросы