ASP.NET Core中怎么配置默認MVC路由,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
1.創建一個空白的ASP.NET Core(Empty) Web項目
2.打開project.json,在”dependencies”節點下增加如下依賴項目
"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吧。
手動在項目根目錄創建Controllers目錄,然后新建一個Controller,名字為HomeController,然后直接運行網站(應該刷新一下就可以了)。
站點繼續提示錯誤,但不是404了,是提示找不到Index這個View。
繼續在項目根目錄創建Views目錄,然后在Views目錄下新建一個Home目錄,在Home目錄新建一個Index.cshtml,填寫一些內容,再次刷新就可以了。
看完上述內容,你們掌握ASP.NET Core中怎么配置默認MVC路由的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。