gpt4 book ai didi

asp.net-mvc - AngularJs 路由与 Asp.Net Mvc

转载 作者:行者123 更新时间:2023-12-04 23:19:58 27 4
gpt4 key购买 nike

我正在尝试使用 Asp.Net MVC 构建 SPA。为此,我正在使用 angularJs 路由。
这是我的项目层次结构。
enter image description here

我的 Layout.cshtl 代码

<html lang="en" ng-app="ProjectTrackingModule">
<head>
<script src="~/Scripts/jquery-2.1.0.min.js"></script>
<script src="~/Scripts/angular.min.js"></script>
<script src="~/Scripts/angular-route.min.js"></script>
<script src="~/Scripts/app.js"></script>
</head>
<body>
<a href="#Home">Home</a>
<a href="#Projects">Projects</a>
<div ng‐view style="margin‐left: 10%; margin‐right: 10%;">
</div>
//... footer
</body>
</html>

我的 app.Js 代码如下:
var app = angular.module('ProjectTrackingModule', ['ngRoute', 'ui.bootstrap']);
app.config(function ($routeProvider) {
$routeProvider
.when("/Home", {
templateUrl: "/Views/Home/Home.cshtml",
controller:"HomeController"
})
.when("/Projects", {
templateUrl: "/Views/ProjectManagement/ProjectDetails.cshtml",
controller: "ProjectsController"
})
.otherwise({redirectTo:"/Home"})
});

我想加载我的 Home.Cshtml局部 View 在 ng-view 里面。但是当我运行我的应用程序时,它只显示主页部分 View 。

同样,当我单击 Project 时,它应该在 ng-view 中呈现 ProjectDetails.cshtml。

ProjectDetails.cshtml 中的代码
<div ng-controller="ProjectsController">
<h2>ProjectDetails</h2>
</div>

最佳答案

我认为您对 Angularjs 路由概念有一些误解。

MVC 路由:

ASP.NET routing enables you to use URLs that do not have to map to specific files in a Web site. Because the URL does not have to map to a file, you can use URLs that are descriptive of the user's action and therefore are more easily understood by users.



Angular 路由:

使用MVC框架的Angular.js路由不使用 MVC路由。

可比较的部分是:
Model ===== ng-module 
controller ===== ng-controller
view ===== ng-view

所以你不能在你的 angularjs 中调用 MVC Controller 路由配置这有意义吗?

也请考虑一下 cshtml之间的一些差异和 html .

Angular 路由和 MVC 路由完全不同,因为:
  • Angular 路由是使用客户端
  • 服务器端使用MVC路由

  • 以上文字仅供您理解。

    我认为这个讨论会帮助你:

    How to use ASP.NET MVC and AngularJS routing?

    更新 :
    href anchor 标签错误。

    它应该是 href="#/Home" ,不是 href="#Home"
    所以请更改您的代码
     <a href="#/Home">Home</a>
    <a href="#/Projects">Projects</a>

    关于asp.net-mvc - AngularJs 路由与 Asp.Net Mvc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29903751/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com