Как одна страница может получить доступ к данным формы всплывающего окна? - PullRequest
0 голосов
/ 16 октября 2018

Сценарий

У меня есть веб-страница, назовем ее Окно № 1 , которое содержит список людей, включая их имя и адрес электронной почты.

Будеткнопка на этой странице, которую пользователь может щелкнуть, чтобы открыть новое окно ( Window # 2 ).Пользователь нажимает кнопку, и открывается новое окно, и пользователь добавляет дополнительных людей.

Когда они закончат добавление пользователей в Окне # 2, они нажмут «Сохранить».Вместо того, чтобы использовать POST для отправки этой формы обратно на сервер, я хочу обновить исходную страницу и модель (Окно № 1) информацией, введенной в Окне № 2.

Я ищу объяснение того, какВы можете решить это решение, используя комбинацию инфраструктуры MVC и / или JavaScript.


Текущие знания

Я довольно новичок в ASP.NET MVC и JavaScript, поэтому яне уверен, что эта задача возможна и что это повлечет за собой.Я попытался выполнить window.open для Window # 2 , но затем Window # 1 не имеет доступа к Window # 2 и наоборот.Я также рассмотрел частичные взгляды, но я не был уверен, как это структурирование будет работать.

Я пытался исследовать эту ситуацию, но я не совсем уверен, что моя терминология верна, и поэтому я не былНе могу найти много информации по теме.

Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

Дочернее окно может ссылаться на родительское окно.Затем дочернее окно может ссылаться на DOM родителя с помощью window.opener.Пример из w3schools :

// Open a new window
var myWindow = window.open("", "myWindow", "width=200, height=100");

// Write some text in the new window
myWindow.document.write("<p>This is 'myWindow'</p>");     

// Write some text in the window that created the new window            
myWindow.opener.document.write("<p>This is the source window!</p>");

Селекторы могут использоваться для изменения DOM родителя способом, запрошенным из исходного вопроса.

0 голосов
/ 16 октября 2018

Вы можете выполнить начальную загрузку Window # 1 , используя традиционный метод Get MVC.Вы также можете использовать bootstrap modal для Window # 2 .Затем вы будете использовать метод post JQuery для отправки новых пользователей в метод Post вашего контроллера MVC.Этот метод в идеале должен возвращать что-то вроде объекта JSON с обновленным списком пользователей.Затем вы перестроите список в своем DOM, когда вернется метод JQuery Post.

В качестве альтернативы, вы можете посмотреть что-то вроде Knockout.js вместо того, чтобы использовать метод Post JQuery и вручную перестроить список пользователей.Нокаут очень хорошо подходит для таких сценариев.

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