【发布时间】: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