使用$ routeProvider的asp.net mvc路由

时间:2013-06-13 21:37:18

标签: asp.net-mvc angularjs asp.net-mvc-routing angular-routing

有没有理智的方式来使用这些?

我想拥有的是一个带有导航菜单的单个页面,下面是<ng-view>。 并且所有路由都应该是角色的责任。

但是,我也希望保持良好的mvc。我喜欢整齐有序的服务器端控制器和剃刀页面。

我无法直接访问.cshtml,所以如何访问我的模板?

我不希望重新加载主页面及其内容。它加载一次,之后,所有导航到其他页面的应该只加载相关的模板。

我怎样才能做到这一点?

我找不到一个完整的例子如何一起使用它们。

3 个答案:

答案 0 :(得分:2)

Angular用于单页面Web应用程序(SPA)。

ASP.NET MVC用于服务器端页面。

在使用Angular的ASP.NET MVC中,您的Index.cshtml或您的主视图页面将包含所有JavaScripts并加载您的Angular应用程序。您不应该再次离开该页面。 Angular的路由器只是更改URL(使用哈希)并根据路由重建DOM。

他们不应该“共同努力”进行导航。它们协同工作的唯一方法是使用MVC创建REST API(或我认为的任何API)并通过Angular($ http,$ resource等)访问它。

答案 1 :(得分:1)

签出此项目https://github.com/kazimanzurrashid/my-walletz-angular/blob/master/source/MyWalletz/Views/Home/Index.cshtml#L11(无耻的插件,我是所有者)有一个名为IncludeClientView的辅助方法,它在视图中内联所有客户端模板。如果要动态加载模板,则创建一个控制器并从客户端传递模板名称,然后在控制器中使用局部视图返回模板。

答案 2 :(得分:1)

请从visual studio&gt;&gt;安装AngularJS SPA模板扩展和更新。