码迷,mamicode.com
首页 > Web开发 > 详细

asp.net mvc Areas 母版页动态获取数据进行渲染

时间:2017-12-09 22:42:50      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:读取   动态   .net   保存   ase   red   body   操作   bag   

经常需要将一些通用的页面元素抽离出来制作成母版页,但是这里的元素一般都是些基本元素,即不需要

进行后台数据交换的基本数据,但是对于一些需要通过后台查询的数据,我们应该怎么传递给前台的母版页呢

这里描述的是对于多个页面统一的数据部分,即多个页面中均保持一致且与各个页面无其他关系的页面,

虽然我们可以通过razor使用C#语言来获取数据并写入页面中,但这就违背我们view中尽可能不处理数据的意愿了

所以给出的解决方案是,通过ViewBag将需要的数据写入页面中,将读取数据的操作提取到baseController中,

然后其他的控制的继承我们自定义的控制器,baseController需要继承Controller,同时需要导入using System.Web.Mvc;

代码如下

baseController.cs

 public class BaseController: Controller
    {
        public BaseController()
        {
            //传入我们需要的数据
            ViewBag.Clubs = "测试数据"

        }
    }

继承自定义的BaseController

public class HomeController : BaseController
    {
        public ActionResult Index()
        {   
            return View();
        }
    }

将页面的公共部分提取为_main.cshtml保存到Shared目录中

在母版页中写上@ViewBag.Clubs或其他需要的数据,

然后添加@RenderBody()等内容渲染页面的其他部分

至此还剩最后一步,在对应的view页面中添加对母版页的引用

@{
    Layout = "~/Areas/student/Views/Shared/_main.cshtml";
}

 

2017.12.9 20:16

记录下来留待后查,同时方便他人

asp.net mvc Areas 母版页动态获取数据进行渲染

标签:读取   动态   .net   保存   ase   red   body   操作   bag   

原文地址:http://www.cnblogs.com/ives/p/8012586.html

(1)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!