C # MVC 3 / jQuery Кнопка предварительного просмотра CMS - PullRequest
2 голосов
/ 08 апреля 2011

Я разрабатываю новый веб-сайт для моего работодателя, который содержит множество функций в стиле CMS. Одним из них является возможность создавать страницы, указывать URL, меню и т. Д.

Всё хорошо.

Мне нужен способ создать на этих страницах кнопку «Предварительный просмотр», которая не записывает данные в базу данных. Я хочу опубликовать (желательно всю модель, если нет, только данные формы) в новом окне, и это представление отобразит страницу.

Я искал все выше и ниже и не могу найти пример, который имеет смысл. Большинство людей, похоже, сдались: /

Я пытался сделать это самостоятельно с помощью TempData, однако TempData очищается перед тем, как я могу отобразить страницу (так как из того, что я могу вывести ...), требуется более 2 шагов.

Я должен выполнить POST, поскольку данные формы будут содержать HTML (внутри элемента управления Telerik Editor).

У кого-нибудь есть идеи по поводу того, как этого добиться? Или кто-нибудь может предоставить ссылки на некоторые ресурсы? (Я пришел совершенно пустым!)

С уважением,

1017 * Хим *

Ответы [ 5 ]

1 голос
/ 08 апреля 2011

Я бы сохранил данные в состоянии сеанса.

это может быть полезно: http://davidhayden.com/blog/dave/archive/2011/02/09/SessionLessControllersMvc3.aspx

1 голос
/ 08 апреля 2011

Вы можете сохранить модель в состоянии сеанса.

0 голосов
/ 08 апреля 2011

Вы все еще можете использовать TempData.На первом шаге вам нужно явно указать значение оставляемого в сеансе, например:

string messageValue = (string) TempData.Peek("message"); // Does not cause ejection
0 голосов
/ 08 апреля 2011

Спасибо за помощь, ребята / gals.

Мне удалось использовать TempData.

Я, в основном, отправляю сообщение с действием, которое хранит контент в TempData, используя Guid в качестве ключа.Guid возвращается, и как только сообщение ajax возвращает скрытую форму с сообщениями действия target = "_ blank" в метод действия Preview, проходящий через Guid.Это действие предварительного просмотра затем отображает представление с содержимым в TempData.

Спасибо за предложения ... это заставило меня задуматься!

С уважением,

chem

0 голосов
/ 08 апреля 2011

Вы можете сериализовать модель в XML, а затем метод действия для страницы предварительного просмотра может десериализовать ее.

См. эту ссылку .

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