Как вызвать функцию ASP из onclick в HTML?

0

У меня есть 3 ссылки в моем HTML. Когда я нажимаю одну из них, переменная в сеансе должна меняться. Как я могу это сделать?

<div id="eng">
      <a href="#" onClick="setLanguage('en')";>
           <img id="eng_img" src="bandiera01.png" />
      </a>
 </div>
 <div id="rus">
      <a href="#" onclick="setLanguage('ru');">
           <img id="rus_img" src="bandiera02.png" />
      </a>
 </div>
 <div id="ted">
      <a href="#" onclick="setLanguage('de');">
           <img id="ted_img" src="bandiera03.png" />
      </a>
 </div>

setLanguage (txt) - это функция JavaScript, но я хочу использовать ее в ASP, чтобы сохранить ее в сеансе.

  • 1
    Вы когда-нибудь слышали об Аяксе?
  • 0
    javascript и asp живут в разных средах, браузер против сервера. Будьте более конкретны о том, что вы хотите достичь
Показать ещё 5 комментариев
Теги:
asp-classic
session

2 ответа

1

Вам нужно отправить информацию на сервер, вы можете отправить по обычной ссылке или отправить ajax. Я думаю, что в этом случае лучше отправить обычную ссылку, например:

<div id="eng">
      <a href="ChangeLanguage.asp?language=en">
           <img id="eng_img" src="bandiera01.png" /></a>
      </a>
 </div>
 <div id="rus">
      <a href="ChangeLanguage.asp?language=ru">
           <img id="rus_img" src="bandiera02.png" />
      </a>
 </div>
 <div id="ted">
      <a href="ChangeLanguage.asp?language=de">
           <img id="ted_img" src="bandiera03.png" />
      </a>
 </div>

На странице назначения вы получаете информацию о "языке" ссылки.

0

Вы можете решить эту проблему несколькими способами:

  1. Поверните свои ссылки в кнопки отправки, поместите их в форму, отправьте сервер страниц на сервер, чтобы управлять бизнес-логикой изменения языка. Это классический подход asp. Вы должны перестроить сервер страницы.

  2. Пусть setLanguage() вызов ajax на страницу asp, которая извлекает локализованные ресурсы. При успехе ресурсы отображаются в соответствующие элементы DOM: возможно, эта логика может быть различной функцией:

HTML

    <div class="lang">
          <a href="#" data-lang="en">en</a>
     </div>
     <div class="lang">
          <a href="#" data-lang="ru">ru</a>
     </div>
     <div class="lang">
          <a href="#" data-lang="de">de</a>
    </div>

SCRIPT

    (function($){
        window.setLanguage = function(langCode){
            $.ajax({
              type: "GET",
              url: "myLanguageHandler.asp",
              data: { "languageCode": languageCode },
              async: true,
              error: function (req, status, message) {
                  //manage the error
              },
              success: function (data) {
                  mapPage(data);
              }
            });
            /*
             * for demo purpose only
             * console.log('Set language: ' + langCode);
             */
        };

        $('.lang a').bind('click', function(e){
            window.setLanguage($(e.target).attr('data-lang'));
            return false;
        });
    })(jQuery)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню