在MVC中使用masterpage的部分代码

 Action

 

    public ActionResult Index()
        {
            return this.RazorView();
        }

 

 

ControllerExtensions

 

 

 

 public static class ControllerExtensions
    {
        public static ViewResult RazorView(this Controller controller)
        {
            return RazorView(controller, null, null);
        }

        public static ViewResult RazorView(this Controller controller, object model)
        {
            return RazorView(controller, null, model);
        }

        public static ViewResult RazorView(this Controller controller, string viewName)
        {
            return RazorView(controller, viewName, null);
        }

        public static ViewResult RazorView(this Controller controller, string viewName, object model)
        {
            if (model != null)
                controller.ViewData.Model = model;

            controller.ViewBag._ViewName = GetViewName(controller, viewName);

            return new ViewResult
            {
                ViewName = "RazorView",
                ViewData = controller.ViewData,
                TempData = controller.TempData
            };
        }

        static string GetViewName(Controller controller, string viewName)
        {
            return !string.IsNullOrEmpty(viewName)
                ? viewName
                : controller.RouteData.GetRequiredString("action");
        }
    }

 

 

 

Views\Shared下 有个RazorView.ASPX  和 SITE.MASTER

 

 

posted @ 2012-02-25 19:39  Ry5  阅读(358)  评论(0编辑  收藏  举报