如何检测我的母版页是通过 MVC 项目中的 Web 窗体还是 MVC 页调用的
本文关键字:MVC 项目 窗体 调用 Web 何检测 检测 母版页 我的 | 更新日期: 2023-09-27 17:56:04
我正在做的项目最初是WebForms,后来迁移到 Asp.Net MVC。 3 个页面仍在使用 Webforms,不值得努力重写它们。
为了防止必须维护两个看起来相同的单独母版页,我有两个母版页,MVC.Master
和 Webforms.Master
。 Webforms.Master
MVC.Master
设置为其母版页,因此每当我向菜单添加新工具链接时,无论用户是在查看 Web 窗体还是 MVC 页面,它始终显示。 该Webforms.Master
上只有一个ajaxToolkit脚本管理器。
到目前为止,一切都运行良好,我正在添加 Telerik 支持。 问题是您无法在 WebForm 页面中使用 Html 帮助程序,因为您会得到异常A ViewMasterPage can be used only with content pages that derive from ViewPage or ViewPage<TModel>.
由于我不在乎 Telerik 的脚本和样式表注册器是否为 Webform 页面运行,因此理想情况下,我想做类似的事情
<% if (!PageIsWebforms)
{
Html.Telerik().....
}
%>
不幸的是,我想不出一个好方法来成功确定内页是否是WebForms页面。有人知道我如何做到这一点吗?
MVC页面继承了 System.Web.UI.Page 以外的内容,您可以测试Page is System.Web.MVC.ViewPage
吗?您可以将其设置为属性以使标记更容易。