Создание многоразовых виджетов - PullRequest
1 голос
/ 04 июля 2011

Я использую asp.net mvc 2.0 и пытаюсь создать повторно используемые части веб-сайта, которые можно динамически добавлять на любую страницу.
У меня проблема, как загрузить частичное представление со всеми связанными JS и данными? Я пробовал следующие способы сделать это:

  1. Используйте частичное представление и поместите все js в это. В главном представлении используйте рендер частично. Но чтобы инициализировать частичное представление, мне нужно добавить модель к текущей модели метода действий, чтобы иметь возможность сделать RenderPartial("MyPartialView", Model.PartialViewModel).
    Кроме того, у меня нет места для размещения дополнительных данных, которые мне нужны для заполнения формы (например, выпадающих списков значений, некоторых предопределенных значений и т. Д.).

  2. Используйте RenderAction, но, похоже, у него те же проблемы, что и у RenderPartial, за исключением того, что мне не нужно ничего добавлять к любой другой модели.

Любые другие оприоны очень ценятся.

1 Ответ

1 голос
/ 04 июля 2011

Насколько я понимаю, RenderAction выполняет полный конвейер для действия, а затем отображает результат - так, что отображается так же, как то, что вы увидели бы, если бы просмотрели действие.

Я использовал RenderAction для рендеринга «виджетов» по ​​всему сайту, но, на мой взгляд, они должны быть независимыми от страницы, отображающей их, в противном случае они не являются виджетами и должны быть частью кода страницы рендеринга.вместо.Например, если есть форма входа в систему, вы всегда будете перенаправлять пользователя на страницу, которая может обрабатывать информацию, независимо от того, на какой странице он находится в данный момент, так что это делает его хорошим виджетом.Другие способы, которыми я воспользовался, - показать корзину или рекламу.Ничего из этого не зависит от отображаемой страницы.

Надеюсь, это немного поможет!

...