100% пост-форма - PullRequest
       23

100% пост-форма

0 голосов
/ 02 ноября 2010

Я ищу способ подключить ASP: LinkButton, чтобы он отображался в виде ссылки, но в фоновом режиме (100% в коде позади, без фиктивной предварительно заполненной формы в разметке) отправьте сообщение формы (target = _blank). У меня есть действие формы, метод и параметры для передачи, которые я буду запрашивать в событии «click» LinkButton. Каков наилучший способ сделать это?

1 Ответ

1 голос
/ 02 ноября 2010

Ну, есть много способов сделать то, что, я думаю, вы пытаетесь сделать:)

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

Если вы довольны GET только представлениями:

ВАРИАНТ А: Добавьте кнопку ссылки без установленной цели и настройте обработчик события обратной отправки для нажатия

настройте свой URL и передайте его обратно на страницу в функцию JS, которая будет загружаться сразу, например, или использовать jquery и т. Д.

в функции JS вы загружаете URL, используя window.open () с целью, установленной в "_blank"

ЭФФЕКТ: Пользователь нажимает на ссылку, весь код на стороне сервера обрабатывает отображаемый URL-адрес, страница обновляется до того места, где она была, а затем загружается всплывающее окно с новым URL-адресом

ВАРИАНТ B: Настройте ссылку так, чтобы target = "_ blank"

сделать так, чтобы он вызывал новую страницу или ту же страницу с аргументом строки запроса, который вы можете предварительно обработать в page_load ()

на новой странице или управляющем блоке кода выполните расчеты и откройте Response.Redirect () для новой цели

ЭФФЕКТ: Пользователь нажимает на ссылку, страница не обновляется, просто сразу появляется новое всплывающее окно с перенаправлением на новую страницу. Это более чистое решение, я думаю!

ЕСЛИ вам нужна поддержка POST:

Динамически создайте либо элементы, либо строку HTML, представляющую форму со всеми необходимыми входными элементами, и выведите ее во всплывающее окно (используя опцию b в качестве грубого начального шаблона), а onload загрузит форму сразу, которая выполнит POST для URL-адреса, который вы определили с помощью серверного скрипта, который дает тот же эффект, что и опция b, но с уровнем формы POST.

...