在ASP.NET MVC中,控制器(Controller)是负责处理用户请求并协调模型和视图的组件。控制器包含一组动作方法(Action Methods),这些方法处理用户输入并调用模型来执行业务逻辑,然后选择适当的视图来呈现结果。

以下是关于ASP.NET MVC控制器的基本概念和使用方法:

创建控制器

1. 创建控制器:
   - 在Controllers文件夹中,创建一个新的控制器类。控制器类通常继承自Controller基类。
    public class HomeController : Controller
    {
        // 控制器的动作方法将在下面添加
    }

2. 添加动作方法:
   - 动作方法是控制器中用于响应用户请求的方法。
   - 通过使用不同的 HTTP 方法(GET、POST等),可以创建不同的动作方法。
    public class HomeController : Controller
    {
        // GET: /Home/Index
        public ActionResult Index()
        {
            return View();
        }

        // GET: /Home/About
        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";
            return View();
        }
    }

动作方法

1. 返回类型:
   - 动作方法通常返回ActionResult或其派生类,例如ViewResult、JsonResult等。

2. 视图:
   - View()方法用于返回视图。默认情况下,它将查找与动作方法同名的视图。
    public ActionResult Index()
    {
        return View();
    }

3. 传递数据到视图:
   - 通过ViewBag、ViewData或强类型的模型,将数据传递给视图。
    public ActionResult About()
    {
        ViewBag.Message = "Your application description page.";
        return View();
    }

路由

1. 路由配置:
   - 在App_Start\RouteConfig.cs文件中配置路由规则,将 URL 映射到相应的控制器和动作方法。
    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 }
            );
        }
    }

2. URL参数:
   - 动作方法可以接受 URL 中的参数,例如通过占位符(placeholder)或查询字符串。
    public ActionResult Details(int id)
    {
        // 使用id执行相应的操作
        return View();
    }

通过创建控制器和动作方法,你可以有效地组织和处理应用程序的不同功能。 ASP.NET MVC的路由系统将用户请求映射到相应的控制器和动作方法,从而实现了灵活且可维护的 Web 应用程序。


转载请注明出处:http://www.pingtaimeng.com/article/detail/6562/ASP.NET