0

我有一个用经典 ASP、ASP.NET 和 ASP.NET MVC 编码的大型网站/应用程序。我有一个菜单,上面有很多 HTML CSS JS,一些配置(可见或不可见......)和很多动态链接。

所以问题是当我必须更新菜单时,我必须更新 3 个文件,一个包含在经典 ASP 中,一个在 asp.net 中的 ASCX 用户控件和一个在 asp.NET MVC 中的部分视图

我讨厌代码重复,所以可以只使用一个组件吗?我听说过 Com,但我不知道从哪里开始。

感谢帮助

编辑:我想知道使用一个.net 对象,它可以生成一个包含我需要的所有 html 的字符串,然后将它放在视图 MVC 和 asp.net 页面中但是如何在经典 ASP 中使用它?

4

3 回答 3

1

没有什么能阻止您使用webapi 控制器来公开此功能;webapi 控制器将返回jsonxml菜单结构到客户端浏览器,这反过来将通过将 json 注入浏览器 DOM 并使用 CSS 设置样式来呈现。

经典 ASP 和 MVC ASP.NET 将使用相同的 javascript 和 css。

于 2013-01-24T17:21:10.800 回答
0

我还在一个与您的情况非常相似的遗留应用程序中工作,生活有多糟糕:(

我会去XML/XSLT在你的情况下。

我将创建一个包含所有菜单详细信息的 XML 文件,并使用 XSLT 从 XML 生成 HTML。我可以轻松地在所有三种技术中使用 XML 和 XSLT。因此,每次需要更改时,都必须更改 XML 或 XSLT 文件。

您甚至可以创建一个使用 XML/XSLT 方法的简单 .NET 组件,该方法可以轻松用于 ASP.NET Web 窗体、ASP.NET MVC(在自定义视图引擎中?)以及经典 asp(您必须注册)。

于 2012-10-19T15:28:32.170 回答
0

猜猜,您可以在 asp.net MVC 中创建一个操作方法来呈现动态菜单并在站点的每个部分从 javascript 加载 AJAX?

更新:

您可以在经典 ASP 中向上述 ASP.NET MVC 处理程序发出 HTTP GET 请求,如果它不是非常动态的,则缓存结果。无论如何,如果它在同一台服务器中,它应该会非常快。我想,请求看起来像这个答案

于 2012-10-19T11:49:57.730 回答