asp.net mvc Сложная форма как их хранить - PullRequest
1 голос
/ 09 июня 2011

Я все еще новичок в MVC, у меня была сложная форма в моем проекте. Форма - это форма студента, со всеми общими полями, такими как имя, фамилия и т. Д. В форму также необходимо добавить несколько адресов и заметок для этого студента и отобразить их. После того, как все было предоставлено, он сохраняет ученика с другими данными в нескольких таблицах (у меня есть отдельная таблица адресов и таблица заметок).

В настоящее время, когда пользователь нажимает кнопку добавления адреса, я использую jquery для всплывающего диалогового окна адреса, когда пользователь заполняет форму, я использую ajax для сохранения данных в сеансе, и то же самое относится к заметкам. Я немного волнуюсь, возможно, истек срок первой сессии. во-вторых, моя форма более сложна, чем я описал, поэтому в сессии будет много данных, которые в веб-форме я почти не использую.

Так может кто-нибудь дать мне лучшее решение?

Спасибо за вашу помощь.

Ответы [ 3 ]

2 голосов
/ 09 июня 2011

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

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

0 голосов
/ 04 октября 2012

"Я использую jquery для всплывающего диалогового окна адреса, когда пользователь заполняет форму, я использую ajax для сохранения данных в сеансе, и то же самое относится к заметкам."

Почему бы просто не открыть всплывающее окно, найти форму и добавить скрытые поля формы? Более того, просто используйте jquery для добавления видимых полей формы в форму.

Привязка модели к списку содержит пример того, как это может выглядеть:

<form method="post" action="/Home/Create">

<input type="text" name="[0].Title" value="Curious George" />
<input type="text" name="[0].Author" value="H.A. Rey" />
<input type="text" name="[0].DatePublished" value="2/23/1973" />

<input type="text" name="[1].Title" value="Code Complete" />
<input type="text" name="[1].Author" value="Steve McConnell" />
<input type="text" name="[1].DatePublished" value="6/9/2004" />

<input type="text" name="[2].Title" value="The Two Towers" />
<input type="text" name="[2].Author" value="JRR Tolkien" />
<input type="text" name="[2].DatePublished" value="6/1/2005" />

<input type="submit" />

0 голосов
/ 14 июля 2011

Здесь есть статья здесь , в которой описывается процесс создания мастера в mvc. Это кажется хорошим решением для вашего случая, так как автор использует jQuery для достижения его «формы мастера».

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