我使用ASP.NET Core MVC和AngularJS創建了一個具有客戶端依賴關係NPM,Bower和Gulp的項目。在wwwroot
文件夾中創建的index.html
頁面不顯示爲默認值。ASP.NET Core MVC index.html未設置爲默認頁面
的index.html
<!DOCTYPE html>
<html ng-app="myQuotesApp">
<head>
<meta charset="utf-8" />
<title>My Quotes App</title>
<script src="lib/angular/angular.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular-resource.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular-route.js"></script>
<script src="app.js"></script>
</head>
<body ng-cloak>
<div ng-controller="quotesController">
<h2>List Of Quotes</h2>
<ul>
<li ng-repeat="quote in quotes">
<p>"{{quote.Content}}" - {{quote.Author}}</p>
</li>
</ul>
</div>
</body>
</html>
Startup.cs
public class Startup
{
// This method gets called by the runtime. Use this method to add services to the container.
// For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
//app.Run(async (context) =>
//{
// await context.Response.WriteAsync("Hello World!");
//});
app.UseMvc();
}
}
project.json
{
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.1",
"type": "platform"
},
"Microsoft.AspNetCore.Diagnostics": "1.0.0",
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"Microsoft.AspNetCore.StaticFiles": "1.0.0",
"Microsoft.AspNetCore.Mvc": "1.0.1"
},
"tools": {
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
},
"frameworks": {
"netcoreapp1.0": {
"imports": [
"dotnet5.6",
"portable-net45+win8"
]
}
},
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true
},
"runtimeOptions": {
"configProperties": {
"System.GC.Server": true
}
},
"publishOptions": {
"include": [
"wwwroot",
"web.config"
]
},
"scripts": {
"postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
}
}
app.js文件
(function() {
'use strict';
angular.module('MyQuotesApp', [
// Angular modules
'ngRoute',
//////////////////
'ngResource',
///////////////insert this ^^^^
// Custom modules
"quotesService"
// 3rd Party Modules
]);
})();
個
quotesService.cs
(function() {
'use strict';
var quotesService = angular.module('quotesService', ['ngResource']);
quotesService.factory('Quotes', ['$resource', function ($resource) {
return $resource('/api/quotes/', {}, {
query: { method: 'GET', params: {}, isArray: true }
});
}]);
})();
quotesController.js
(function() {
'use strict';
angular
.module('myQuotesApp')
.controller('quotesController', quotesController);
quotesController.$inject = ['$scope','Quotes'];
function quotesController($scope, Quotes) {
$scope.quotes = Quotes.query();
//$scope.title = 'quotesController';
//activate();
//function activate() { }
}
})();
QuotesConroller.cs
namespace MyQuotesApp.api
{
[Route("api/[controller]")]
public class QuotesController : Controller
{
// GET: api/values
[HttpGet]
public IEnumerable<Quote> Get()
{
return new List<Quote> {
new Quote {ID=1, Content="abc", Author="abc123" },
new Quote {ID=2, Content="abcd", Author="abcd123" },
new Quote { ID=3, Content="abcde", Author="abcde123"}
};
//return new string[] { "value1", "value2" };
}
// GET api/values/5
[HttpGet("{id}")]
public string Get(int id)
{
return "value";
}
// POST api/values
[HttpPost]
public void Post([FromBody]string value)
{
}
// PUT api/values/5
[HttpPut("{id}")]
public void Put(int id, [FromBody]string value)
{
}
// DELETE api/values/5
[HttpDelete("{id}")]
public void Delete(int id)
{
}
}
}
在mvc中,您不設置默認頁面,而是使用路由來決定要提供的頁面 – Baahubali
我在此示例中使用了index.html,它放置在wwwroot文件夾中,並且它作爲默認工作,但在我的代碼中不起作用。 –
發佈路由類代碼 – Baahubali