没有文件的字符串动态内联silverlight

时间:2011-02-08 10:37:50

标签: silverlight asp.net-mvc-2

我在大学的最后一个项目我正在使用asp.net mvc3进行开发,并使用silverlight进行矢量图形处理。

我将silverlight代码作为字符串/ xml存储在数据库中,我希望能够动态操作它(更改比例等)并在我的aspx视图中显示它。我不希望也不能使用文件,因为可伸缩性问题(会有很多问题)以及可能将应用程序移植到云端(Azure)。

基本上我想构建一个控制器,它将从数据库中获取原始xaml代码并显示它。我在网上找到的所有解决方案都有两个对我没用的选项:

也许有人可以为我的问题建议一个实用的解决方案

1 个答案:

答案 0 :(得分:0)

我建议您花一些时间详细检查如何使用Silverlight导航框架。

我认为您应该能够使用Frame元素将您自己的INavigationContentLoader实现分配给其ContentLoader属性,并将您自己的衍生工具分配给UriMapperBase已分配到UriMapper属性。

然后你会使用这样的网址: -

 http://yoursite.com/yourHostController#/yourXamlController/someReference

您将有两个视图,“yourHost”只会生成HTML,以便托管您将构建的Silverlight应用程序。 “yourXaml”视图只会提供原始Xaml。

您的Uri映射器将获取#之后提供的相对URL(这是Silverlight应用程序内部导航的工作原理)并创建一个可以指向您的Xaml控制器的Uri。

然后,INavigationContentLoader的实现将从Uri中获取Xaml并加载它。

假设Xaml包含使用“/ yourXamlController / otherReference”等网址的超链接。您应该能够在不重新加载Silverlight应用程序的情况下浏览存储的Xaml。一切都将是关于引用和下载新的Xaml块。