Silverlight Navigation + маршрутизация MVC

Я экспериментирую с Silverlight (4.0) Navigation и глубокими ссылками. Проблема, с которой я столкнулся сейчас, заключается в том, что мое приложение 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

Ури Маппер:

<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 Users - это представление внутри моего приложения SL, которым управляет UriMapper. На данный момент это не работает.

Есть предположения?


person Tri Q Tran    schedule 06.10.2011    source источник


Ответы (1)


Обычно я ждал ответа, но я обнаружил, что эта проблема немного лимонная. Чтобы приложение Silverlight получало маршруты URI, вам необходимо указать iframe с определенным идентификатором на странице, на которой размещен SL.

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

Я понятия не имею, почему это нигде не упоминается, что можно легко увидеть, но, по-видимому, упущено, потому что, если вы используете шаблон проекта Silveright Navigation, это было бы добавлено для вас автоматически.

Хороший MS! =. =

person Tri Q Tran    schedule 06.10.2011