В asp.net MVC 2. Добавить новую запись отношения в представлении создания - PullRequest
0 голосов
/ 24 сентября 2010

Вот мой дизайн базы данных. Контакт ContactIDКонтактное лицо EmailAddress Email IDContactIDEmailText

В представлении создания у меня есть поле ContactName и кнопка Добавить адрес электронной почты.Когда я нажимаю на Add Email Address, появляется всплывающее окно, которое выполняет ajax-запрос, чтобы получить поля адреса.Моя проблема заключается в том, что мне нужно создать контакт перед созданием адреса, потому что мне сначала нужен ContactID.Кто-нибудь знает, как поступить?.

Я использую asp.net MVC 2 и Entity Framework 4

Ответы [ 2 ]

2 голосов
/ 24 сентября 2010

Когда вы добавляете свою электронную почту, отправляете ли вы это на свой сервер? Или вы просто передаете эти данные обратно в родительское окно (где находится имя контакта) и помещаете их под именем, чтобы они были видны перед отправкой?

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

Итак, вы увидите:

Contact Name [......]
(Add Email) +

Они нажимают +, и это идет:

Contact Name [.......]
Email 1:  [.......]  (remove x)
(Add Email) +

При отправке у вас будет ваше контактное имя и хороший список электронных писем, которые можно использовать вместе с ним. Создайте свой контакт, а затем создайте ваши электронные письма. =

0 голосов
/ 24 сентября 2010

Мой код делает что-то более сложное, но очень похожее.Что я делаю, это создаю и пишу запись электронной почты с пустым ContactID, когда диалоговое окно закрыто.Затем, когда я отправляю свою контактную форму, у меня есть поле с EmailID.В своем действии «Сохранить контакт» я проверяю запись «Электронная почта» и, если поле «контакт» пуст, я вставляю «Контакт» и сохраняю запись «Электронная почта».Я использую то же частичное представление для создания и редактирования, поэтому, если оно редактирует существующее электронное письмо или добавляет новое электронное письмо к существующему контакту, поле ContactID уже заполнено.

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

Если это «Создать», то я не совсем понимаю, зачем вам нужен AJAX-запрос для получения значений ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...