.net - 在 Silverlight 和 ASP.NET 之间混合应用程序模块

标签 .net asp.net silverlight

背景:
我在一组具有多个不同“模块”的 ASP.NET 应用程序中工作。这些应用程序都共享一个主菜单,因此它们都相互链接。模块是应用程序的高级区域。因此,例如,它可能是付款、订单、客户、产品等。付款和订单在一个应用程序中,产品和客户在另一个应用程序中。其中一些菜单链接是“深层链接”,例如,它可能是指向客户模块中特定页面的链接,例如创建新客户。

问题:
我们即将开始一个项目,该项目将向该套件添加更多模块,可能作为一个新的 .NET 应用程序。我正在考虑在 Silverlight 中执行这些新模块(出于对问题不重要的各种原因)。如果我要这样做,我需要使菜单看起来与 ASP.NET 中的菜单相同,因为用户仍然需要感觉他们在一个“应用程序”中。

我的问题:

  • 我应该如何组织 Silverlight 项目,以便我可以从 ASP.NET 页面“深层链接”到 Silverlight 应用程序中的特定模块?
  • 创建这些不同的 Silverlight“模块”的最佳创意是什么?如果我有一些本来是 ASP.NET 中的页面的东西(例如 - 创建客户),那么每一个都应该是一个单独的 Silverlight 应用程序吗?还是应该是单独的用户控件?或者是其他东西?
  • 我是否应该重复使用我们共享的 ASP.NET 菜单,以及即使在新应用程序中也可以深度链接到不同的 Silverlight“模块”?或者我应该在 Silverlight 中重新实现菜单以在应用程序内导航?
  • Silverlight 是否有类似于 ASP.NET 菜单的菜单控件(在这种情况下带有弹出子菜单)?我什至可以在他们之间共享一个 SiteMap XML 文件吗?

  • 编辑:
    环顾四周后,似乎 PRISM 可能是我的一些问题的答案。它可以让我模块化我拥有的不同的 Silverlight block 。它允许我在 Silverlight 中定义一个“母版页”,我可以在其中托管菜单。我有这个权利吗?

    最佳答案

    好吧,因为我没有得到任何答案,我想我会回答自己。

  • 您可以使用 Silverlight 导航应用程序“深层链接”到 Silverlight 项目,它是 Silverlight 工具包随附的 VS 2010 项目类型。
  • 您可以使用 Prism 模块化 Silverlight 应用程序。 (又名复合应用程序 block )或 MEF (托管可扩展性框架)。两种框架都有不同的优点和缺点,它们擅长的事情也不同。

  • 我还没有决定如何在 ASP.NET 或 Silverlight 中实现菜单。但是有了上面的构建 block ,两者都将具有必要的功能。

    关于.net - 在 Silverlight 和 ASP.NET 之间混合应用程序模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2776364/

    相关文章:

    Windows phone7 列表选择器

    .net - 用户在采用 Silverlight 时是否有问题?

    silverlight - 我的数据契约(Contract)有什么问题?

    .net - 防止与 memcached 的连接过多(Enyim 客户端)

    asp.net - 如何选择下拉列表值,然后使用PowerShell和IE 6.0回发

    c# - 系统.Data.SqlClient.SqlException : Invalid column name 'phone_types_phone_type_id'

    单击 asp.net 中按钮的 JavaScript 在母版页中不起作用

    C# 语法 - Lambda 表达式示例 - ForEach() over Generic List

    c# - 通过 C# 代码的 Powershell 命令

    c# - MaskedTextBox 中的 IP 地址?