跨两个cshtml页面的Angular Data Service

时间:2014-02-03 15:37:39

标签: angularjs service

我需要跨控制器共享数据。所以我从服务返回我的共享数组,然后将服务注入需要访问它的任何控制器。

angular.module('mappingLayers', [])
    .constant('MODULE_VERSION', '0.0.3')
    .service('layersAvailableToMap', function () {
        return [];
    });
;

我也使用MVC4模板,RenderBody调用两个不同的index.cshtml中的一个 页/观点

_Layout.cshtml

<header>
    <div class="content-wrapper">
        <div class="float-left">
            <p class="site-title">My Title</p>
        </div>
        <div class="float-right">
            <section id="login">
                Hello, <span >@User.Identity.Name</span>
                    </section>
                <nav>
                <ul id="menu">
                            <li>@Html.ActionLink("Portfolio", "Index", "Home")</li>
                            <li>@Html.ActionLink("Profile", "Index", "Profile")</li>
                </ul>
            </nav>
        </div>
    </div>
</header>
<div data-ng-app="portfolioApp">
    <section >
        @RenderBody()
    </section>
</div>

当我在index.cshtml页面之间切换时(通过Portfolio和Profile ActionLinks并通过RenderBody()呈现)和我的共享数据服务数组被重新创建 - 即每个页面一个。

所以,问题是,如何在我的_layout页面中通过RenderBody呈现的不同页面中的控制器之间共享我的服务。

在其中一个页面中的多个控制器中注入服务可以正常工作。

顺便说一句,在我认为不应该的时候,在两个index.cshtml页面之间切换(即调用RenderBody)似乎会导致整页刷新/回调。这可能指向问题?

感谢。

0 个答案:

没有答案