как добавить скрипт в форму aspx в визуальном веб-разработчике

Я искал в сети и смотрел видео об этом, но никто не помогает. Что я хочу сделать, так это добавить уже типизированный файл сценария Java в мою форму aspx в Visual Web Developer. Все говорят мне, что я должен просто добавить:

<html>
<head> 
<title><title>
<script src="JScript.js" type="text/javascript"></script>
</head>
</html>

но.... в форме aspx нет только тегов <head> или <body>:

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server" /> 
</asp:Content>


<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server" >
</asp:Content>

Если даже возможно добавить java-скрипт в эту форму aspx, пожалуйста, дайте мне код или помогите мне сделать это правильно.

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

Изменить 1

Вот html код кнопок и картинки

<tr>
    <td> <asp:Button ID="Button1" runat="server" Text="Prev" OnClientClick="init();"/> </td>
    <td> <img ID="pic" alt="" src="010.JPG" runat="server" width="200" height="200" /> </td>
    <td> <asp:Button ID="Button2" runat="server" Text="Next" OnClientClick="init();"/> </td>
</tr>

А вот код для javascript init()

var imagePath = new Array();
var imageIndex = 0;

function init(){
     addPath("Bell.jpg");
     addPath("Dads.png");

     getImagePath(0);
}

function addPath(path){
     var index = imagePath.length;
     imagePath[index++] = path;  
}

function getImagePath(index){
     var length = imagePath.length;

     if(index <= length){
        if(index >= 0){
            document.getElementById("pic").src = imagePath[index];
            document.getElementById("pic").alt = imagePath[index];
            imageIndex = index;
        }
     } else {
        document.getElementById("pic").src = "DOES NOT EXIST";
        document.getElementById("pic").alt = "DOES NOT EXIST";
     }
}

однако он не вызывает метод javascript init()

Вышеупомянутое теперь решено, спасибо

НО Редактировать 2

функция инициализации должна запускаться при загрузке страницы, прежде чем кнопки будут знать, куда указывать источник изображения. Как я могу вызвать init() при загрузке страницы?


person Julie20    schedule 04.04.2013    source источник


Ответы (2)


Вам нужно поставить здесь

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server" /> 
    <script src="JScript.js" type="text/javascript"></script>
</asp:Content>

Изменить 1

function getImagePath(index){
     var length = imagePath.length;

     if(index <= length){
        if(index >= 0){
            document.getElementById("<%= pic.ClientID %>").src = imagePath[index];
            document.getElementById("<%= pic.ClientID %>").alt = imagePath[index];
            imageIndex = index;
        }
     } else {
        document.getElementById("<%= pic.ClientID %>").src = "DOES NOT EXIST";
        document.getElementById("<%= pic.ClientID %>").alt = "DOES NOT EXIST";
     }
}

Также

function init(){
      addPath("Bell.jpg");
      addPath("Dads.png");
      getImagePath(0);
      return false;
   }
person शेखर    schedule 04.04.2013
comment
Теперь я получаю эту ошибку при попытке вызвать метод с кнопки Вот код кнопки: '‹td› ‹asp:Button ID=Button1 runat=server Text=Prev OnClick=init()/› ‹/td›' И здесь это сообщение об ошибке: «Ошибка 1» ASP.gallery_2007_billfish_billfish_2007_aspx не содержит определения для «init», и не может быть найден метод расширения «init», принимающий первый аргумент типа «ASP.gallery_2007_billfish_billfish_2007_aspx» (вы пропустили директиву использования или ссылка на сборку?) C:\Users\Zelda\Desktop\WebProgramming\testWebSite002\Gallery\2007 BillFish\BillFish 2007.aspx' - person Julie20; 04.04.2013
comment
функция init() является функцией на стороне сервера или функцией javascript. Если это серверная функция, то она должна быть OnClick="init" - person शेखर; 04.04.2013
comment
теперь он создает метод init() в файле .cs, но он уже находится в файле javascript, и он дает мне эту ошибку: Ошибка 2 Невозможно использовать более одного типа в операторе for, using, fixed или декларации - person Julie20; 04.04.2013
comment
если это функция java-скрипта, то она должна быть на onClientClick как OnClientClick="init()", а не OnClick="init()" - person शेखर; 04.04.2013
comment
похоже, он не вызывает метод javascript init() - person Julie20; 04.04.2013
comment
попробуйте простое оповещение следующим образом OnClientClick="javascript:alert('testing');" - person शेखर; 04.04.2013
comment
когда я пробую оповещение, оно работает, и я получаю окно сообщения, но мой метод init() все еще не вызывается - person Julie20; 04.04.2013
comment
попробуйте firebug и mozila firefox, чтобы получить ошибку вот ссылка - person शेखर; 04.04.2013
comment
согласно firebug, он вызывает и выполняет метод, но непосредственно перед тем, как он устанавливает источник изображений, он выходит из функции. Я не понимаю, почему это не продолжается? - person Julie20; 04.04.2013
comment
Я нашел свою проблему, потому что это aspx и имеет следующее: ‹asp:Content ID=Content1 ContentPlaceHolderID=MainContent Runat=Server/› ‹/asp:Content› Мне нужно было изменить идентификатор строки, в которой я выполняю поиск изображения исходный документ pic.getElementById(pic).alt = imagePath[index]; изменен документ.getElementById(MainContent_pic).alt = imagePath[index]; и теперь он может найти изображение и изменить источник. Спасибо за всю помощь, НО я отредактировал свой исходный вопрос, потому что теперь у меня есть еще один вопрос. - person Julie20; 04.04.2013
comment
вы также можете использовать <%= pic.ClientID %>, это даст вам тот же результат. Пожалуйста, отметьте ответ, если он вам помог. - person शेखर; 04.04.2013

Просто поместите сценарий в свой контент.

    <asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server" />
    <script src="JScript.js" type="text/javascript"></script> 
    </asp:Content>
person Johan Öbrink    schedule 04.04.2013