Помимо того факта, что я думаю, что это bad idea
и тот факт, что у вас будет несколько запросов на форму для каждого пользователя, а также тот факт, что если пользователь вернется, чтобы отредактировать поле, в котором они ошибочно написаны, у вас будет дополнительные запросы, так что много отходов ... Кроме моего мнения по этому вопросу, вот где вы можете начать:
Считает, что вы хотите, чтобы это произошло от взаимодействия с пользователем на клиенте (т.е., веб-пользователя браузер), вы должны сделать вызов AJAX каждый раз, когда пользователь переместится из одного текстового поля в другое.
Поскольку вы хотите использовать AJAX, вы должны посмотреть на jQuery, у которого есть некоторые полезные методы Ajax для вас.
Пользователь может перейти из текстового поля, нажав на вкладку или щелкнув мышью, чтобы вы могли обрабатывать оба этих события. Ключевое слово здесь: focus
, и есть события, которые уволены, которые соответствуют этому. С помощью jQuery вы можете использовать метод .Blur()
.
Теперь, так как вы, вероятно, не хотят переписать тот же код снова и снова на каждом текстовом поле, вы можете рассмотреть вопрос о создании custom class
, производный от TextBox
, скажем AutoUpdateTextBox или что-то подобное, что есть необходимая jQuery, связанный с ним, встроен. Не просто напечатайте кучу JavaScript, так как вам нужна только функция JavaScript один раз, и вы можете передать ему параметры, такие как TextBoxID и Value.
Наконец, вам нужен обработчик, который принимает этот вызов AJAX и обновляет вашу базу данных. Существует 50 миллионов способов его создания. Если вы используете ASP.NET Web Forms, вы можете создать обработчик ASHX и добавить к этому обработчику соответствующую логику сохранения базы данных (или логику доступа к уровню данных, более подходящую). Обработчик не является страницей, он действует как URL-адрес, который просто принимает некоторые параметры и возвращает любой результат. Он не выполняет asp.net LifeCycle.
В качестве альтернативы, если вы используете ASP.net MVC, вы можете настроить маршрут и обработать контроллер этим и снова, вернуть только значение true/false в качестве всего потока ответов или, возможно, JSON, как это было предложено в программе Ankur Singhal's ответ. Это может быть проще с помощью веб-форм.
Вы даже можете создать веб-службу или службу WCF, но все, что вам действительно нужно, - это базовый обработчик.
Надеюсь, этого достаточно, чтобы вы начали, не давая вам полного решения. Компоненты, которые я изложил, если вы начнете смотреть на них один за другим, как полный набор, выполнит то, что вы хотите сделать.
Если я могу предложить, он может быть более мудрым и более эффективным, чтобы думать о способе сделать это, не обновляя КАЖДЫЙ раз, когда пользователь переходит в новое текстовое поле. Вы можете сохранить объект JavaScript на своей странице, который после определенного события (например, пользователь нажимает кнопку «Далее» на странице или вы предоставляете кнопку «сохранить для более поздней»), затем запускает запрос AJAX со значениями всего форме для вашего обработчика или веб-службы.
Ключ здесь, в моей схеме выше, и я надеюсь, что имеет смысл, так это то, что когда у вас есть требование, подобное тому, которое вы упомянули, вы хотите разбить его на свои различные компоненты. По мере того, как вы будете больше программировать, «как разбить мой проект или идею на более мелкие части» станет легче.
После того, как у вас есть детали, которые вы видите, вы можете начать строить каждую часть, а затем, когда вы застреваете, и задайте конкретный вопрос о чем-то, за что вы застряли, люди здесь, на SO, с радостью помогут.
Как говорится, «Как вы едите слона? - один укус за один раз!» (Я не знаю никого, кто на самом деле положил это на испытание слоном, но вы понимаете ...)
Удачи!
Я не знаю, почему там 3 downvote. Те, кто лучше всего оставляют комментарии или причины, для лучшего обучения – Fendy
Для самого вопроса, я думаю, здесь слишком много нетехнических терминов. Как «Скажи, что я ударил ...», когда это будет? Что ударить? Кнопка? Затем для «Если я ввожу свое« Имя »и нажмите вкладку ...», это происходит только при нажатии вкладки? Или вы имеете в виду более общий способ «когда я потерял фокус в текстовом поле»? И более того, будет лучше, если вы продемонстрируете дизайн интерфейса UI, чтобы мы могли лучше понять. – Fendy
Приобретено, потому что вопрос краток, дает пример и явно требует отправной точки, а не целого решения. –