gpt4 book ai didi

c# - ASP.NET MVC 中的主页

转载 作者:行者123 更新时间:2023-11-30 13:42:40 24 4
gpt4 key购买 nike

我正在试用 ASP.NET MVC,但是在阅读了大量教程之后,我有点困惑。我了解 Controller 如何具有将 URL 路由到的操作,但主页如何工作?主页是它自己的没有任何操作的 Controller (例如“主页”)吗?这听起来是正确的,但是如果没有 Actions(没有 Actions 意味着没有调用 View Engine 的方法),它是如何实现功能的?

换句话说,我的问题是:主页是如何实现的(在 Controller 和 View 方面)?能否请您提供示例代码

最佳答案

“主页”页面只不过是特定 Controller 中的任意 Action,它返回特定的 View

要设置“主页”、页面或更好的措辞,即默认页面,您需要更改 Global.asax.cs 文件中的路由信息​​:

public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

AreaRegistration.RegisterAllAreas();

routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "NotHome", action = "NotIndex", id = "" } // Parameter defaults
);

注意路由定义:

        routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "NotHome", action = "NotIndex", id = "" } // Parameter defaults
);

这个路由是一个“包罗万象”的路由,这意味着它将接受任何 URL 并将其分解为特定的 Controller 、操作和 ID。如果没有定义或定义其中一个路由,它将使用默认值:

new { controller = "NotHome", action = "NotIndex", id = "" }

这表示“如果有人访问我的应用程序,但没有指定 Controller 或操作,我将把他们重定向到我的 NotHomeNotIndex 操作 Controller ”。我故意用“Not”来说明“Default.aspx”、“Index.html”的命名约定不适用于 MVC 路由。

关于c# - ASP.NET MVC 中的主页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2464544/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com