ASP.NET MVC формируется как с AJAX, так и с традиционной поддержкой после

StackOverflow https://stackoverflow.com/questions/2341529

Вопрос

У меня есть форма, которую я в настоящее время перечисляю с некоторыми функциями JavaScript, а затем выкладываю ее с помощью jQuery .ajax () для действия контроллера MVC. У меня есть несколько вопросов по моим вариантам, если я хочу добавить традиционную (без Javascript) поддержку для размещения этой формы.

1) Дело в том, что у меня есть некоторые данные, которые нет в полях, но это просто текст в DOV. Поскольку в настоящее время я публикую с Ajax, я могу получить содержимое этих DOV от их удостоверения личности перед публикацией и включать их в почту. Я предполагаю, что эта информация будет отсутствовать в традиционном посте.

Одна идея - сделать <input> Для этих DOV также, но скрывайте его на странице. А затем используйте их в посте.

2) Если я решу использовать только Ajax post, могу ли я полностью избавиться от формы?

3) Учитывая, что я остаюсь с Ajax Post, какой формат вы предлагаете использовать для размещения значений? JSON, Deplimited (проблематично для сложных данных), что-то еще?

4) Вы обычно поддерживаете в обоих направлениях? Потому что, если я сейчас посмотрю на свои формы, они используют тонну функциональности jquery и jquery пользовательского интерфейса, и это было бы излишним для реализации без JavaScript. Насколько вероятно, что пользователи не будут включены JS, и можно ли просто сказать «JS требуется»?

Для этого конкретного случая я строю внутреннее приложение по требованию, которое не будет ориентировано на веб-адрес (по крайней мере, пока), поэтому у меня есть возможность сказать, что JS требуется.

Тай

Это было полезно?

Решение

Если вы хотите пойти по маршруту поддержания рабочего сайта без JavaScript, то я бы посоветовал вам начать с того, чтобы сделать сайт без него, а затем использовать JavaScript, чтобы изменить этот интерфейс на то, что вы действительно хотите с включенным JavaScript. Это повлечет за собой начните со всех входов, содержащихся в input элементы, затем заменив эти элементы, используя JavaScript на ваш div элементы - или, более реалистично, удаление inputs и показывая ранее div элементы.

Я не вижу необходимости избавляться от формы, даже при использовании Ajax, хотя технически нет причин ее иметь. Однако, что мне нравится делать, - это сохранить форму, а затем попросить мой метод отправки вытащить действие из form Теги, чтобы мне не нужно было кодировать его непосредственно в JavaScript. Вы можете обнаружить, что это облегчает делиться JavaScript между вашим различными формами.

Я всегда сериализую, чтобы запросить параметры, точно так же, как форма обычно. Самый простой способ сделать это - с jQuery serialize Метод, но это будет работать только на входных данных. Вы также можете построить хэш (пары ключей значений в объекте) и предоставить это как параметр данных для вашего AJAX. Он будет автоматически сериализовать для запроса параметров. Использование чего -либо еще потребует, чтобы вы покинули свой собственный код, а не код привязки модели в MVC.

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

Другие советы

Спасибо за совет Томаса, здесь код для отображения координаты мыши под курсором:

ToolTip tt = new ToolTip();
tt.SetToolTip(pic, " ");
tt.ShowAlways = true;

 private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
 {
    tt.ToolTipTitle = e.X + "  " + e.Y; 
 }
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top