【问题标题】:Routing Asp.Net AngularJs路由 Asp.Net AngularJs
【发布时间】:2016-01-22 22:47:36
【问题描述】:

我遇到了不想加载的 ng-view 问题。 如果我点击一个链接,我会得到以下网址: http://localhost:63024/Home/Index#/routeOne

我的控制器的代码:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View();
    }
    public ActionResult One()
    {
        return View();
    }

    public ActionResult Two()
    {
        return View();
    }

    public ActionResult Three()
    {
        return View();
    }
}

一个非常简单的控制器。

还有如下路由:

var configFunction = function ($routeProvider) {
$routeProvider.
    when('/routeOne', {
        templateUrl: 'Home/one'
    })
    .when('/routeTwo', {
        templateUrl: 'Home/two'
    })
    .when('/routeThree', {
        templateUrl: 'Home/three'
    });
}
configFunction.$inject = ['$routeProvider'];

myApp.config(configFunction);

还有以下观点:

<ul>
   <li><a href="#/routeOne">Route One</a></li>
   <li><a href="#/routeTwo">Route Two</a></li>
   <li><a href="#/routeThree">Route Three</a></li>
</ul>

<div ng-view></div>

【问题讨论】:

  • 您将 Angular 路由(客户端)与 ASP.net 路由(服务器端)混合在一起 - 它们不一样...通常您会使用 Angular 路由“导航”到视图而不涉及服务器路由(Angular 将通过 Ajax/XHR 获取新的视图/模板)
  • 所以我应该只提供一个路由引擎,Angular 路由或 Asp.net 路由?
  • 或者我可以将 Angular 路由与 Asp.net 路由结合起来吗?
  • 我不想说 Angular 用于 SPA(单页应用程序),因为它并不是它的亮点。我也不会说在使用 Angular 时不能混合使用服务器端和客户端,因为你可以(我愿意)。它取决于你想要完成什么 - 例如。著名的“待办事项应用程序”Angular 教程可能只是您网站的一部分,其中 Angular 通过 AJAX/XHR 在单个“页面”中完成所有 “待办事项应用程序” 进程/路由(但“页面”本身是一个 ASP.net 视图,用户通过 ASP.net 路由从您网站的其他部分导航到该视图)。嗯……

标签: c# asp.net angularjs asp.net-mvc


【解决方案1】:

您是否在 mvc 应用程序中为这些控制器操作指定了视图,并在角度方面指定了 ng-controller / ng-app? (发布此作为答案,因为我无法发表评论)

【讨论】:

    猜你喜欢
    • 2014-11-22
    • 2015-07-06
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    • 2018-01-07
    相关资源
    最近更新 更多