背景:
我在一套ASP.NET应用程序中工作,这些应用程序有几个不同的“模块”。应用程序都共享一个主菜单,因此它们都互相链接。这些模块是应用程序的高级领域。例如,它可能是付款、订单、客户、产品等,付款和订单在一个应用程序中,而产品和客户在另一个应用程序中。其中一些菜单链接是“深度链接”,例如,它可能是指向客户模块中特定页面的链接,例如创建新客户。
问题:
我们将启动一个项目,该项目将向该套件添加更多模块,可能是作为一个新的.NET应用程序。我正在考虑在Silverlight中执行这些新模块(出于各种原因,这些都不是问题的实质)。如果要这样做,我需要使菜单看起来与ASP.NET中的菜单相同,因为用户仍然需要感觉他们在一个“应用程序”中。
我的问题:
-
我应该如何组织Silverlight项目,以便能够从ASP.NET页面“深度链接”到Silverlight应用程序中的特定模块?
-
创建这些不同的Silverlight“模块”的最佳方法是什么?如果我有一个在ASP.NET中可能是一个页面的东西(例如-create customer),那么每一个都应该是一个单独的Silverlight应用程序吗?或者应该是一个单独的用户控件?或者别的什么?
-
我是否应该重用我们共享的ASP.NET菜单,并深入链接到不同的Silverlight“模块”,即使是在新的应用程序中?或者我应该在Silverlight中重新实现菜单以便在应用程序中导航?
-
Silverlight是否有类似于ASP.NET菜单的菜单控件(在本例中是弹出式子菜单)?我可以在他们之间共享站点地图XML文件吗?
编辑:
再多看一看,棱镜似乎是我一些问题的答案。它将允许我模块化我拥有的不同的Silverlight块。它允许我在Silverlight中定义一个“母版页”,在那里我可以托管菜单。我有这个权利吗?