如何为MVC页面设置路由

本文关键字:页面设置 路由 MVC | 更新日期: 2023-09-27 18:27:32

MVC新手问候。。。我正在创建我的第一个MVC应用程序,并且创建如下:

CustomUtilities/Controllers/GCItemRetrievalController.cs
CustomUtilities/Views/GCItemRetrieval/GCRetrieve.cshtml
CustomUtilities/Views/Web.config

我想在浏览器中调出"GCRetrieve.cshtml……但我一直收到404错误

http://mainsite/CustomUtilities/GCItemRetrieval/GCRetrieve 

我做错了什么?我在主系统上的一个单独的文件夹中创建了控制器、模型和视图的文件夹。

如何为MVC页面设置路由

您的控制器应该是这样的:

public class GCItemRetrievalController : Controller
{
    public ActionResult GCRetrieve()
    {
        return View();
    }
}

当您导航到以下网址时:

http://mainsite/CustomUtilities/GCItemRetrieval/GCRetrieve

它应该找到控制器的GCRetrieve方法并执行它。return View()调用将查找。名为GCRetrieve.cshtmlcshtml文件,因为这是方法的名称。

 public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
    }
}

创建MVC应用程序时,会在App_Start目录中创建名为RouteConfig.cs的类文件。默认路由为

    public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
    }
}

在上述默认路由中:如果要调用视图CustomUtilities/Views/GCItemRetrieval/GCCretrieve.cshtml

我认为CustomUtilities是您的项目名称,然后使用以下

http://mainsite/GCItemRetrieval/GCRetrieve就是[domanin]/[controllername]/[actionname]

有关默认路由的详细信息,请参阅http://www.niceonecode.com/Q-A/DotNet/MVC/routing-in-mvc-4/20190