我正在開發的項目是一個最初是WebForms的項目,後來被遷移到Asp.Net MVC。 3頁仍在使用Webforms,不值得重寫它們。如何檢測我的母版頁是否通過我的MVC項目中的Webforms或MVC頁面調用?
爲防止維護兩個看起來完全相同的獨立母版頁,我有兩個母版頁MVC.Master
和Webforms.Master
。 Webforms.Master
已將MVC.Master
設置爲其主頁面,因此無論我何時向菜單中添加新工具鏈接,都會顯示無論用戶是在查看Webforms還是MVC頁面。 Webforms.Master
只有一個ajaxToolkit腳本管理器。
一切工作都很好,直到現在,我正在添加Telerik支持。問題是,你不能在Web窗體頁中使用HTML輔助,因爲你得到的異常A ViewMasterPage can be used only with content pages that derive from ViewPage or ViewPage<TModel>.
因爲我不在乎,如果Telerik的腳本和樣式表註冊服務商爲網絡表單頁面上運行,我非常願意做這樣的事情
<% if (!PageIsWebforms)
{
Html.Telerik().....
}
%>
不幸的是,我想不出一個好方法來成功確定內頁是否是WebForms頁面。有沒有人有任何想法我可以做到這一點?
工作。如果頁面是一個MVC頁面,那麼'Page'屬性繼承自'System.Web.MVC.ViewPage',所以檢查'Page是System.Web.MVC.ViewPage'告訴我頁面是否是MVC。謝謝! – KallDrexx 2011-05-10 15:25:30
@KallDrexx,更直接的測試是檢查'頁面是System.Web.MVC.ViewPage'(注意**是**而不是**)。我編輯了我的答案,以包含實際的MVC頁面類型。 – 2011-05-10 15:26:51
是的,我只是注意到並編輯它:) – KallDrexx 2011-05-10 15:27:43