Вложение строго типизированного элемента управления в главную страницу ASP.NET - PullRequest
1 голос
/ 13 ноября 2010

У меня есть сайт, использующий одну master.page.На master.page у меня есть строго типизированный пользовательский элемент управления (.ascx) под названием «ControlPanel».Его тип - ControlPanelViewModel.

Вот основная страница - MasterFrame.master:

<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>

<body>
    <% Html.RenderPartial("ControlPanel"); %> <!-- Here I need to pass the ControlPanelViewModel -->

    <!-- main content area -->
</body>
</html>

Вот пользовательская страница управления - ControlPanel.ascx:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ControlPanelViewModel>" %>
<!-- Some content which are using the ControlPanelViewModel -->

Теперь вопрос в томотправить правильный ControlPanelViewModel в пользовательский элемент управления главной страницы?Каков наилучший подход?Есть ли какая-то хорошая практика или шаблон дизайна для этого случая?

Ответы [ 2 ]

1 голос
/ 13 ноября 2010

Свик, спасибо за ответ, но ваш подход в значительной степени связан с моделью представления.Я думаю, это то, что большинство парней ASP.NET используют, потому что я читал об этом в нескольких статьях.К сожалению, этого недостаточно для моего сайта, потому что у меня слишком много существующего кода и моделей просмотра.На мой взгляд, лучше всего использовать метод Html.RenderAction, который вызывает ваш метод контроллера.

0 голосов
/ 13 ноября 2010

Если у вас есть объект модели, существует перегрузка Html.RenderPartial(), которую вы можете присвоить:

Html.RenderPartial("ControlPanel", model);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...