كيف أتخلص من الصفحة الرئيسية في ASP.Net MVC؟
-
08-06-2019 - |
سؤال
أعلم أن هذا الموقع مكتوب باستخدام ASP.Net MVC ولا أرى "/Home" في عنوان url.وهذا يثبت لي أنه يمكن القيام بذلك.ما هو الطريق الخاص الذي أحتاجه؟
المحلول
فقط قم بتغيير "الصفحة الرئيسية" إلى سلسلة فارغة.
routes.MapRoute(
"Home",
"",
new { action = Index, controller = Home }
);
نصائح أخرى
إذا كنت تعمل على IIS 7، فيمكنك ببساطة حذف الملف Default.aspx الذي يأتي مع ASP.NET MVC (على افتراض أنك تعمل على Preview 3 أو أعلى).كان هذا الملف مطلوبًا بسبب مشكلة في Cassini تم إصلاحها في .NET 3.5 SP1.لمزيد من التفاصيل راجع:
http://haacked.com/archive/2008/04/10/upcoming-changes-in-routing.aspxوhttp://haacked.com/archive/2008/05/12/sp1-beta-and-its-effect-on-mvc.aspx
أنا في الواقع أحب أن تكون جميع أساليب التحكم المنزلي الخاصة بي في جذر الموقع.مثله:/ حول، / الاتصال، الخ.أعتقد أنني من الصعب إرضاءه.أستخدم قيدًا بسيطًا للمسار للقيام بذلك. إليكم مشاركة مدونتي مع نموذج التعليمات البرمجية.
أود أن أضيف
routes.MapRoute("NoIndex", "{action}", new { controller = "Home", action = "Index" });
في RouteConfig.cs
وهذا ما فعلته للتخلص من المنزل.سيتم التعامل مع جميع المسارات بمحدد واحد فقط على أنه الصفحة الرئيسية/الإجراء وأي منها بمحددين كوحدة تحكم/إجراء.الجانب السلبي الآن هو أن وحدة التحكم يجب أن تحتوي على فهرس صريح (/Controller != /Controller/Index)، ولكنه قد يساعدك أنت أو الآخرين.
routes.MapRoute(
"Default",
"{action}",
new { controller = "Home", action = "Index" }
);
routes.MapRoute(
"Actions",
"{controller}/{action}",
new { }
);
في IIS 7، يمكنك ببساطة حذف الملف Default.aspx الذي يأتي مع ASP.NET MVC (على افتراض أنك تعمل على Preview 3 أو أعلى).كان هذا الملف مطلوبًا بسبب مشكلة في Cassini تم إصلاحها في .NET 3.5 SP1.
لمزيد من التفاصيل راجع:
التغييرات القادمة في التوجيه و .NET 3.5 SP1 Beta وتأثيره على MVC