Silverlight 导航MVC路由

发布于 2024-12-08 10:40:21 字数 1336 浏览 0 评论 0原文

我正在尝试 Silverlight (4.0) 导航和深度链接。我现在面临的问题是我的 Silverlight 应用程序托管在 MVC 视图页面 (.cshtml) 内,如下所示,这是相当标准的。

<object id="SilverlightAdvanceAdminObject" data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
        <!-- omitted for brevity -->
</object>

在此阶段,我的 URI 由 MVC 路由,因此我将有一个管理控制器,它具有高级操作,该操作又返回上述视图。

例如。 http://localhost/Admin/Advanced

从现在开始,我希望 MVC 允许我执行 Silverlight导航到“深层链接”进入我的 SL 应用程序内的视图。

例如。 http://localhost/Admin/Advanced#/Users

Uri Mapper:

<sdk:Frame region:RegionManager.RegionName="MainRegion">
    <sdk:Frame.ContentLoader>
        <prism:FrameContentLoader RegionName="MainRegion" />
    </sdk:Frame.ContentLoader>
    <sdk:Frame.UriMapper>
        <sdk:UriMapper>
            <sdk:UriMapping Uri="" MappedUri="/UserAdminView" />
            <sdk:UriMapping Uri="/{viewName}" MappedUri="/{viewName}" />
        </sdk:UriMapper>
    </sdk:Frame.UriMapper>
</sdk:Frame>

上面的例子是我想要的想要实现,其中 URI 的用户组件是我的 SL 应用程序内的一个视图,由 UriMapper 管理。目前,这似乎不起作用。

有什么想法吗?

I am experimenting with Silverlight (4.0) Navigation and deep linking. The problem I'm facing now is that my Silverlight application is hosted inside a MVC view page (.cshtml) as shown below, which is fairly standard.

<object id="SilverlightAdvanceAdminObject" data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
        <!-- omitted for brevity -->
</object>

At this stage, my URI is routed by MVC, so I would have a Admin controller which has a Advanced action which in turn returns the above view.

eg. http://localhost/Admin/Advanced

From here on out, I would like MVC to allow me to perform a Silverlight Navigation to 'deep link' into a view inside my SL app.

eg. http://localhost/Admin/Advanced#/Users

Uri Mapper:

<sdk:Frame region:RegionManager.RegionName="MainRegion">
    <sdk:Frame.ContentLoader>
        <prism:FrameContentLoader RegionName="MainRegion" />
    </sdk:Frame.ContentLoader>
    <sdk:Frame.UriMapper>
        <sdk:UriMapper>
            <sdk:UriMapping Uri="" MappedUri="/UserAdminView" />
            <sdk:UriMapping Uri="/{viewName}" MappedUri="/{viewName}" />
        </sdk:UriMapper>
    </sdk:Frame.UriMapper>
</sdk:Frame>

The above example is something I would like to achieve, where the Users component of the URI is a view inside my SL application which is managed by a UriMapper. At the moment, this doesn't seem to work.

Any thoughts?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

中性美 2024-12-15 10:40:21

我通常会等待答案,但我发现这个问题有点麻烦。为了让 Silverlight 应用程序接收 URI 路由,您需要将具有特定 ID 的 iframe 放入托管 SL 的页面中。

<iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe>

我不知道为什么在任何容易看到的地方都没有提到这一点,但显然错过了,因为如果您使用 Silveright 导航项目模板,它会自动为您添加。

好一位MS! =.=

I would usually wait for an answer, but I found this problem to be a bit of a lemon. For the Silverlight applicaiton to receive the URI routes, you need to a an iframe with a specific id into the page hosting the SL.

<iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe>

I have no idea why this is not mentioned anywhere that can be easily seen, but apparently missed because if you use the Silveright Navigation project template, this would have been added for you automatically.

Good one MS! =.=

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文