ASP.NET Core中使用默認MVC路由的配置
ASP.NET Core里Route這塊的改動不大,只是一些用法上有了調整,提供了一些更加簡潔的語法。
而對于自定義路由的支持當然也是沒有問題的,這個功能應該是從MVC1.0版本就已經有這個功能。
先看看ASP.NET Core里面實現(xiàn)默認MVC路由的配置方式
通常情況下,在使用MVC項目的時候,默認的路由就足夠了,就是常見的通過Controller和Action獲取具體的方法的方式。
從一個最基本的項目開始,執(zhí)行以下步驟,就可以使得項目支持MVC路由
1.創(chuàng)建一個空白的ASP.NET Core(Empty) Web項目
2.打開project.json,在”dependencies”節(jié)點下增加如下依賴項目
"Microsoft.AspNetCore.Mvc": "1.0.0"
保存之后,項目會自動restore packages到本地
3.加入默認MVC路由配置
打開Startup.cs文件
在ConfigureServices方法,加入如下代碼
services.AddMvc();
這個擴展方法把Mvc的一些服務都注入到容器中
在Configure方法,注釋最后兜底的那個“hello world”語句,這個語句的作用是不管什么請求都它來負責。
然后在Configure方法加入如下代碼
app.UseMvcWithDefaultRoute();
這個擴展方法實際上使用了一個Middleware,默認的Url template跟之前MVC版本的一致,上述代碼等同于以下效果
app.UseMvc(routes =>
{
routes.MapRoute(
name: "Default",
template: "{controller}/{action}/{id?}",
defaults: new {controller = "Home", action = "Index"}
);
});
最終的Startup.cs代碼如下
public class Startup
{
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.UseMvcWithDefaultRoute();
}
}
4.到此配置已經完成,但是運行站點直接顯示404,沒顯示Hello world說明已經生效了,只是Empty的項目沒有Controller,那么定義一個Controller吧。
手動在項目根目錄創(chuàng)建Controllers目錄,然后新建一個Controller,名字為HomeController,然后直接運行網站(應該刷新一下就可以了)。
站點繼續(xù)提示錯誤,但不是404了,是提示找不到Index這個View。

繼續(xù)在項目根目錄創(chuàng)建Views目錄,然后在Views目錄下新建一個Home目錄,在Home目錄新建一個Index.cshtml,填寫一些內容,再次刷新就可以了。

當然這是最基本的配置,比如要進一步支持在cshtml里面實現(xiàn)智能感知,支持靜態(tài)文件路由等還得加入更多的依賴和配置。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
.NET Core Web APi大文件分片上傳研究實現(xiàn)
這篇文章主要介紹了.NET Core Web APi大文件分片上傳研究實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11
ASP.NET 鏈接 Access 數據庫路徑問題最終解決方案
ASP.NET 鏈接 Access 數據庫路徑問題最終解決方案...2007-04-04
VS2010/VS2013項目創(chuàng)建 ADO.NET連接mysql/sql server詳細步驟
這篇文章主要介紹了VS2010/VS2013項目創(chuàng)建,及ADO.NET連接mysql/sql server詳細步驟,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-10-10
.Net?Core應用增強型跨平臺串口類庫CustomSerialPort()詳解
本文詳細講解了.Net?Core應用增強型跨平臺串口類庫CustomSerialPort(),文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-01-01

