2013-03-15 4 views
-2

Я после вашего экспертного мнения для достижения следующей задачи, используя C#, Asp.Net SQL 2008/2012.Сохранить как вы идете шаблон в ASP.NET

Скажем, у меня есть форма, которая имеет следующие текстовые поля, и она сопоставляется с таблицей в DataBase.

  • ID: Идентичность
  • Название
  • Имя
  • Фамилия
  • DOB

Скажите, что я ударил новый контакт, и я представил с формой.

Если я ввожу свое «Имя» и нажмите вкладку, я хочу создать запись сразу. Тогда, если я введу «Фамилия», которая будет обновлением и так далее. Поэтому я хочу обновить/зафиксировать на лету

Я хочу такую ​​функциональность для всех своих форм.

Что послужило бы отправной точкой для достижения этой цели.

Должен ли я использовать сервисы для CRUDS или на какой модели я должен смотреть?

Обновление: Ниже приведены изображения для лучшего понимания.

Если у вас есть аккаунт Gmail/Google, попробуйте создать новый контакт, и вы поймете, что мне нужно.

Вкратце я хочу реализовать такую ​​функциональность.

enter image description here

enter image description here

+0

Я не знаю, почему там 3 downvote. Те, кто лучше всего оставляют комментарии или причины, для лучшего обучения – Fendy

+0

Для самого вопроса, я думаю, здесь слишком много нетехнических терминов. Как «Скажи, что я ударил ...», когда это будет? Что ударить? Кнопка? Затем для «Если я ввожу свое« Имя »и нажмите вкладку ...», это происходит только при нажатии вкладки? Или вы имеете в виду более общий способ «когда я потерял фокус в текстовом поле»? И более того, будет лучше, если вы продемонстрируете дизайн интерфейса UI, чтобы мы могли лучше понять. – Fendy

+0

Приобретено, потому что вопрос краток, дает пример и явно требует отправной точки, а не целого решения. –

ответ

0

Вы можете использовать веб-службы и потребляют их с помощью Javascript. Также используйте JSON между ними.

2

Помимо того факта, что я думаю, что это bad idea и тот факт, что у вас будет несколько запросов на форму для каждого пользователя, а также тот факт, что если пользователь вернется, чтобы отредактировать поле, в котором они ошибочно написаны, у вас будет дополнительные запросы, так что много отходов ... Кроме моего мнения по этому вопросу, вот где вы можете начать:

  1. Считает, что вы хотите, чтобы это произошло от взаимодействия с пользователем на клиенте (т.е., веб-пользователя браузер), вы должны сделать вызов AJAX каждый раз, когда пользователь переместится из одного текстового поля в другое.

  2. Поскольку вы хотите использовать AJAX, вы должны посмотреть на jQuery, у которого есть некоторые полезные методы Ajax для вас.

  3. Пользователь может перейти из текстового поля, нажав на вкладку или щелкнув мышью, чтобы вы могли обрабатывать оба этих события. Ключевое слово здесь: focus, и есть события, которые уволены, которые соответствуют этому. С помощью jQuery вы можете использовать метод .Blur().

  4. Теперь, так как вы, вероятно, не хотят переписать тот же код снова и снова на каждом текстовом поле, вы можете рассмотреть вопрос о создании custom class, производный от TextBox, скажем AutoUpdateTextBox или что-то подобное, что есть необходимая jQuery, связанный с ним, встроен. Не просто напечатайте кучу JavaScript, так как вам нужна только функция JavaScript один раз, и вы можете передать ему параметры, такие как TextBoxID и Value.

  5. Наконец, вам нужен обработчик, который принимает этот вызов AJAX и обновляет вашу базу данных. Существует 50 миллионов способов его создания. Если вы используете ASP.NET Web Forms, вы можете создать обработчик ASHX и добавить к этому обработчику соответствующую логику сохранения базы данных (или логику доступа к уровню данных, более подходящую). Обработчик не является страницей, он действует как URL-адрес, который просто принимает некоторые параметры и возвращает любой результат. Он не выполняет asp.net LifeCycle.

    В качестве альтернативы, если вы используете ASP.net MVC, вы можете настроить маршрут и обработать контроллер этим и снова, вернуть только значение true/false в качестве всего потока ответов или, возможно, JSON, как это было предложено в программе Ankur Singhal's ответ. Это может быть проще с помощью веб-форм.

    Вы даже можете создать веб-службу или службу WCF, но все, что вам действительно нужно, - это базовый обработчик.

Надеюсь, этого достаточно, чтобы вы начали, не давая вам полного решения. Компоненты, которые я изложил, если вы начнете смотреть на них один за другим, как полный набор, выполнит то, что вы хотите сделать.

Если я могу предложить, он может быть более мудрым и более эффективным, чтобы думать о способе сделать это, не обновляя КАЖДЫЙ раз, когда пользователь переходит в новое текстовое поле. Вы можете сохранить объект JavaScript на своей странице, который после определенного события (например, пользователь нажимает кнопку «Далее» на странице или вы предоставляете кнопку «сохранить для более поздней»), затем запускает запрос AJAX со значениями всего форме для вашего обработчика или веб-службы.

Ключ здесь, в моей схеме выше, и я надеюсь, что имеет смысл, так это то, что когда у вас есть требование, подобное тому, которое вы упомянули, вы хотите разбить его на свои различные компоненты. По мере того, как вы будете больше программировать, «как разбить мой проект или идею на более мелкие части» станет легче.

После того, как у вас есть детали, которые вы видите, вы можете начать строить каждую часть, а затем, когда вы застреваете, и задайте конкретный вопрос о чем-то, за что вы застряли, люди здесь, на SO, с радостью помогут.

Как говорится, «Как вы едите слона? - один укус за один раз!» (Я не знаю никого, кто на самом деле положил это на испытание слоном, но вы понимаете ...)

Удачи!

+0

Это действительно полезно. и благодарю вас за то, что вы пережили боль, когда писали это. – vishalvatsal

+0

Это действительно полезно, и спасибо, что вы пережили боль в записи.Я знаю, что его много отходов при выполнении многих запросов, но потом это то, что меня просят сделать. Я возьму ваш совет по разрыву проекта, но в то же время я пытаюсь найти то, что будет лучшим набором технологий, которые я мог бы использовать. – vishalvatsal

+0

@vishalvatsal - не беспокойтесь. Честно говоря, у вас есть все технологии, которые вам нужны в ASP.net и jQuery. Это довольно специфическое требование, что вы вряд ли найдете реализацию «из коробки». –

Смежные вопросы