Orchard CMS: как перегрузить отображение DriverResult, чтобы оно было @model и поддерживало привязку? - PullRequest
1 голос
/ 11 декабря 2011

ARG! Я бьюсь головой здесь уже около 18 часов за последние 2 дня, словно пытаюсь пробежаться в 4-футовой луже грязи ... Я оооочень близок и боюсь, что мне придется идти в понедельник с НЕТ результата за весь мой труд ...

Большая картинка:

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

Если поиск в GeoIp выключен или пользователи заинтересованы в поиске другого места, где они могут достать и изменить ZipCode на любой из своих вариантов и «обратной передачи», с перерисовкой модулей.

У меня виджеты смотрят из другой БД и прекрасно отображаются как виджет.

У меня все работает так, как я хочу .. Я "думаю", что я хочу, это для

    protected override DriverResult Display(
        SeminarPart part, string displayType, dynamic shapeHelper) {

чтобы быть чем-то, что я могу связать в .cshtml

@model CustomPart

но что бы я ни получал ->

Элемент модели, переданный в словарь, имеет тип 'IShapeProxyabb0e4251c0b4c71bfe70f2ec47bfca4', но этот словарь требуется элемент модели типа «Blah.Blah.MoreBlah.CustomPart».

Если я смогу сделать все это счастливым, я "ДУМАЮ", я бы смог сделать что-то вроде

@Html.TextBoxFor(m=>m.SelectedZipCode)

И в конечном итоге модель обновит свой набор результатов, изменив List<CustomData> в модели и перерисовав список ... ???


Часть редактора DANGDED предоставляет GET и POST DriverResult Editor и, кажется, делает то, что я надеялся, что смогу сделать здесь ... кто-нибудь, идеи?

PPPPPPLLLLLLEEEEEASSE Роджер .... большое спасибо заранее, -James et 10-Geek точка ком ...

1 Ответ

0 голосов
/ 11 декабря 2011

Замените ваш @model CustomPart на @model dynamic.Модель, переданная в представление, была проксирована Orchard, чтобы позволить ему что-то делать, а объект прокси - dynamic, НЕ является экземпляром CustomPart.

Это относится только к представлениям, отображаемым черезDisplay(...) метод.В представлении, используемом для вашего Editor(CustomPart part, dynamic shapeHelper) метода, вы должны использовать @model CustomPart.

...