Динамическое извлечение виртуального пути UserControl - PullRequest
1 голос
/ 02 декабря 2009

У меня есть приложение с FrontEnd , разделенным на один файл проекта, и Codebehind / classes , разделенным на совершенно другую библиотеку классов. Что мне нужно, так это способ, из UserControl Type, получить VirtualPath.

Как правило, мы будем иметь это в коде

Board  uc = (Board)Page.LoadControl(@"~\Board.ascx");

Но я хочу что-то вроде этого

Board  uc = (Board)Page.LoadControl(Board.VirtualPath);

OR

Board  uc =  Page.LoadControl(Board);

У кого-нибудь есть идеи, как мне это сделать?

Заранее спасибо:)

1 Ответ

1 голос
/ 02 декабря 2009

Почти уверен, что ваша реализация элементов управления в рамках MVC неверна.

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

Обычно, здесь, на земле MVC, вы делаете что-то вроде <% Html.PartialView("PartialViewName", Model); %>

Вы можете с помощью WebFormViewEngine amd PartialViewLocationFormats указать общие местоположения частичных представлений и т. Д.

Вы также можете, с вашей точки зрения, сказать что-то вроде <% Html.PartialView("~/views/myController/PartialViewName", Model); %>

Я не видел и не слышал, чтобы кто-нибудь использовал LoadControl из приложения MVC.

Вы также можете создавать свои собственные HTML-помощники и веб-элементы управления, но ни один из них не использует LoadControl.

Похоже, вы пытаетесь повторно использовать элементы управления WebForms. Возможно, я бы преобразовал ваши веб-элементы управления в HTML Helpers или WebControls. Исследования MVC Web Controls.

Проверить эту ссылку .

Также этот дает больше информации .

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