присвоение ViewData к вложенному masterpages

Вам необходимо отделить создание диалога от его создания, как уже упоминалось в комментариях !alertify.customModal && alertify.dialog('customModal'...., чтобы диалог создавался только один раз.

Это создаст одноэлементное диалоговое окно, поэтому вам нужно передать обратный вызов в качестве параметра, либо в функции main, либо в качестве настроек, а затем вызвать его в функции модального обратного вызова:

[110 ]

Затем назовите ваш пользовательский модал:

function showDialog(title, formDialog, callbackfunction, params) {
  alertify.customModal($(formDialog)[0], callbackfunction)
          .set('title', title); //pass callback function here
}

Я включил только соответствующие части для удобства чтения.

Для полного примера, посмотрите на реализацию встроенных диалогов: Alert , Подтвердите и Prompt .

7
задан codette 6 May 2009 в 20:13
поделиться

5 ответов

If you insist on using ViewData as the data-carrier to the master pages (instead of using Html.RenderAction(...) from the MvcContrib project which I probably would use) then if you can identify in which cases the nested masterpage will be used, you can setup an ActionFilter to input the needed data into ViewData["departmentalData"].

1
ответ дан 7 December 2019 в 20:38
поделиться

Одна из возможностей - написать метод расширения как для ViewPage, так и для ViewMasterPage для получения необходимых данных. Я не уверен, но думаю, что именно это сделал Роб Конери в своем пакете Commerce.MVC . Взгляните на это.

0
ответ дан 7 December 2019 в 20:38
поделиться

У нас была такая же проблема. Пока что мы придумали базовый класс для всех контроллеров и защищенный метод для генерации ViewData. Мы вызываем его из всех действий, которые используют эту конкретную главную страницу.

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

0
ответ дан 7 December 2019 в 20:38
поделиться

Существует концепция субконтроллеров для MVC (я не уверен, что она все еще присутствует и будет внедряться в инфраструктуру MVC). Вы можете найти его в проекте mvc contrib на codeplex. Некоторое описание или сообщение в блоге можно найти здесь ...

http://mhinze.com/subcontrollers-in-aspnet-mvc/

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

http : //mhinze.com/passing-objects-to-subcontrollers/

Это не основано на мастер-страницах, но может помочь вам ...

0
ответ дан 7 December 2019 в 20:38
поделиться

Пока ваш контроллер устанавливает правильные ViewData для страницы, которая будет просматриваться, не имеет значения, сколько мастер-страниц используется. Или я что-то упустил?

0
ответ дан 7 December 2019 в 20:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: