首页 > 其他 > 详细

控制器介绍

时间:2014-06-03 15:40:29      阅读:473      评论:0      收藏:0      [点我收藏+]

新建立MVC3项目,名为12-1ControllersAndActions,使用空模板。

Global.asax中默认的路由定义为:

bubuko.com,布布扣
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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

        }
bubuko.com,布布扣

1、用IController创建控制器

在MVC框架中,控制器类必须实现System.Web.Mvc命名空间的IController接口。

System.Web.Mvc.IController接口如下所示:

public interface IController
{
    void Execute(RequestContext requestContext);
}

接口只有一个方法Execute,在请求目标控制器时将被调用。

通过实现IController,就可以创建控制器类,但这是一个相当低级的接口,要做大量工作才能让自己创建的控制器有效,下面只是一个简单的演示。

鼠标右击项目中的Controllers文件夹,选择 Add -> Class,创建新类,取名为BasicController,代码如下:

bubuko.com,布布扣
namespace _12_1ControllersAndActions.Controllers
{
    public class BasicController:IController
    {
        public void Execute(RequestContext requestContext)
        {
            string controller = (string)requestContext.RouteData.Values["controller"];
            string action = (string)requestContext.RouteData.Values["action"];
            requestContext.HttpContext.Response.Write(
                string.Format("Controller:{0}, Action:{1}", controller, action));
        }
    }
}
bubuko.com,布布扣

 如果运行程序,导航到"~/Basic/Index",根据路由定义,也可以导航到"~/Basic",产生的结果为:

Controller:Basic,Action:Index

 

2、一般的做法是创建派生于Controller类的控制器

鼠标右击项目中的Controllers文件夹,选择 Add -> Controller,新建控制器,命名为DerivedController,代码如下:

bubuko.com,布布扣
namespace _12_1ControllersAndActions.Controllers
{
    public class DerivedController : Controller
    {
        //
        // GET: /Derived/

        public ActionResult Index()
        {
            ViewBag.Message = "Hello from the DerivedController Index method.";
            return View("MyView");
        }

    }
}
bubuko.com,布布扣

在方法Index上鼠标右键,添加视图,视图取名为MyView

/Views/Derived/MyView.cshtml

@{
    ViewBag.Title = "MyView";
}

<h2>MyView</h2>
<h1>Message: @ViewBag.Message</h1>

 

控制器介绍,布布扣,bubuko.com

控制器介绍

原文:http://www.cnblogs.com/brown-birds/p/3765246.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!