ฉันจะตั้งค่า Default Controller สำหรับโปรเจ็กต์ASP.NET MVC 4 โดยไม่ต้องสร้างHomeController ได้อย่างไร
ฉันควรตั้งค่าพื้นที่เริ่มต้นอย่างไรเมื่อแอปพลิเคชันเริ่มทำงาน
ฉันจะตั้งค่า Default Controller สำหรับโปรเจ็กต์ASP.NET MVC 4 โดยไม่ต้องสร้างHomeController ได้อย่างไร
ฉันควรตั้งค่าพื้นที่เริ่มต้นอย่างไรเมื่อแอปพลิเคชันเริ่มทำงาน
คำตอบ:
วิธีที่ดีที่สุดคือเปลี่ยนเส้นทาง เส้นทางเริ่มต้น (กำหนดไว้ใน App_Start ของคุณ) กำหนดไว้/Home/Index
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters*
new { controller = "Home", action = "Index",
id = UrlParameter.Optional }
);
เป็นหน้า Landing Page เริ่มต้น คุณสามารถเปลี่ยนเป็นเส้นทางใดก็ได้ที่คุณต้องการ
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters*
new { controller = "Sales", action = "ProjectionReport",
id = UrlParameter.Optional }
);
"AreaName/{controller}/{action}/{id}"
ตั้งรหัสด้านล่างในRouteConfig.csในโฟลเดอร์App_Start
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional });
}
หากยังใช้งานไม่ได้ให้ทำตามขั้นตอนด้านล่าง
วิธีที่สอง: คุณทำตามขั้นตอนด้านล่างง่ายๆ
1) คลิกขวาที่โครงการของคุณ
2) เลือกคุณสมบัติ
3) เลือกตัวเลือกเว็บจากนั้นเลือกหน้าเฉพาะ (ตัวควบคุม / มุมมอง) จากนั้นตั้งค่าหน้าเข้าสู่ระบบของคุณ
ที่นี่บัญชีคือผู้ควบคุมของฉันและการเข้าสู่ระบบเป็นวิธีการดำเนินการของฉัน (บันทึกไว้ในตัวควบคุมบัญชี)
โปรดดูภาพหน้าจอที่แนบมา
ฉันไม่เห็นคำถามนี้ตอบ:
ฉันควรตั้งค่าพื้นที่เริ่มต้นอย่างไรเมื่อแอปพลิเคชันเริ่มทำงาน
ดังนั้นนี่คือวิธีที่คุณสามารถตั้งค่าพื้นที่เริ่มต้น:
var route = routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
).DataTokens = new RouteValueDictionary(new { area = "MyArea" });
ในกรณีที่คุณมีคอนโทรลเลอร์เพียงตัวเดียวและต้องการเข้าถึงทุกการกระทำบนรูทคุณสามารถข้ามชื่อคอนโทรลเลอร์เช่นนี้ได้
routes.MapRoute(
"Default",
"{action}/{id}",
new { controller = "Home", action = "Index",
id = UrlParameter.Optional }
);