Как я могу определить, вызывается ли моя главная страница через веб-формы или страницу MVC в моем проекте MVC? - PullRequest
0 голосов
/ 10 мая 2011

Проект, над которым я работаю, изначально был WebForms, а затем перенесен в Asp.Net MVC. 3 страницы все еще используют веб-формы, и переписывать их не стоит.

Чтобы избежать необходимости поддерживать две отдельные главные страницы, которые выглядят одинаково, у меня есть две главные страницы, MVC.Master и Webforms.Master. Webforms.Master имеет MVC.Master в качестве главной страницы, поэтому, когда я добавляю ссылку на новый инструмент в свое меню, она всегда отображается независимо от того, просматривает ли пользователь страницу Webforms или MVC. В Webforms.Master есть только менеджер скриптов ajaxToolkit.

До сих пор все работало нормально, где я добавляю поддержку Telerik. Проблема в том, что вы не можете использовать Html помощники на страницах WebForm, так как вы получаете исключение A ViewMasterPage can be used only with content pages that derive from ViewPage or ViewPage<TModel>.

Поскольку мне все равно, работают ли регистраторы сценариев и таблиц стилей Telerik для страниц Webform, в идеале я хотел бы сделать что-то вроде

<% if (!PageIsWebforms) 
   {
       Html.Telerik().....
   }
%>

К сожалению, я не могу придумать, как удачно определить, является ли внутренняя страница страницей веб-форм или нет. У кого-нибудь есть идеи, как мне это сделать?

1 Ответ

2 голосов
/ 10 мая 2011

MVC-страницы наследуют что-то отличное от System.Web.UI.Page, не могли бы вы проверить Page is System.Web.MVC.ViewPage. Вы можете сделать это свойством, чтобы облегчить разметку.

...