实例演示:通过ContentResult实现主题定制

由于可以通过ContentResult的ContentType属性指定媒体类型,所以我们不仅仅可以利用它来返回最终会在浏览器中显示的文本,还可以返回其他一些类型的文本内容,比如JavaScript脚本(“text/javascript”)和CSS样式(“text/css”)等。通过ContentResult我们可以实现“静态文本的动态化”,也就是说我们可以在某个Action中根据当前的请求动态地生成一些文本(比如CSS样式),而这些文本内容原本是定义在静态文本文件中。

在接下来的这个实例演示中,我们将利用ContentResult实现对界面主题的定制。实现的机制非常简单:让一个返回类型为ContentResult的Action方法返回基于当前主题的CSS样式,而当前的主题通过一个可持久化的Cookie保存下来。我们在一个ASP.NET MVC应用中定义了如下一个HomeController,其Action方法Css返回一个表示CSS样式的ContentResult。在该Action方法中,我们从请求中提取表示主题的Cookie,并根据它生成基于当前主题的CSS样式(这里仅仅设置了字体类型和大小)。

   1: public class HomeController : Controller

ASP.NET MVC入门---实例演示:通过ContentResult实现主题定制相关推荐

  1. ASP.NET MVC 入门系列教程

    一个居于ASP.NET MVC Beta的系列入门文章,有朋友提议说写一个示例程序来同步讲解,那样更加容易学习.所以就写选择了写一个Blog程序来作为示例程序.(原来是居于ASP.NET MVC Pr ...

  2. ASP.NET MVC入门到精通——Spring.net-业务层仓储

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 上一节,我们已经把项目框架的雏形搭建好了,那么现在我来开始业务实现,在业务实现的过程当中,不断的来完善我们现有的框架. 1.假设我们来做一个 ...

  3. ASP.NET MVC 入门8、ModelState与数据验证

    ViewData有一个ModelState的属性,这是一个类型为ModelStateDictionary的ModelState类型的字典集合.在进行数据验证的时候这个属性是比较有用的.在使用Html. ...

  4. ASP.NET MVC 入门

    入门基础 ASP.NET MVC 是微软系列基于 C# 语言的 Web 开发框架,并不适合 0 基础入门,在学习之前你必须要了解 4 个知识点: 1.HTML 基础.网页的基本标签,结合 ASP.NE ...

  5. ASP.NET MVC 入门10、Action Filter 与 内置的Filter实现(实例-防盗链)

    本系列文章基于ASP.NET MVC Preview5. 前一篇中我们已经了解了Action Filter 与 内置的Filter实现,现在我们就来写一个实例.就写一个防盗链的Filter吧. 首先继 ...

  6. ASP.NET MVC 入门3、Routing

    本系列文章基于Microsoft ASP.NET MVC Beta. 在一个route中,通过在大括号中放一个占位符来定义( { and } ).当解析URL的时候,符号"/"和& ...

  7. 16、ASP.NET MVC入门到精通——MVC过滤器

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 在ASP.NET MVC中有四种过滤器类型 Action 1.在ASP.NET MVC项目中,新建文件夹Filter,然后新建类MyCust ...

  8. 1、ASP.NET MVC入门到精通——新语法

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 在学习ASP.NET MVC之前,有必要先了解一下C#3.0所带来的新的语法特性,这一点尤为重要,因为在MVC项目中我们利用C#3.0的新特 ...

  9. 从零开始学习ASP.NET MVC 入门

    <从零开始学习ASP.NET MVC 1.0> 文章导航 (一) 开天辟地入门篇 (二) 识别URL的Routing组件 (三) Controller/Action 深入解析与应用实例 ( ...

最新文章

  1. Win10 | Mac 在server上统一办公
  2. linux shell curl 超时与重试
  3. 浅谈 Linux 内核开发之网络设备驱动
  4. oracle database link使用说明
  5. sqlite 查询 支持多用户同时_开源时代的后端程序员必须要了解的一个数据库SQLite...
  6. javax.naming.NameNotFoundException:
  7. Mac上时钟也能自定义的方法你知道吗
  8. Spring Boot开发之流水无情(二)
  9. 19日下午三点直播:DevOps体系中数据库端的四大问题及解决之道
  10. 自动查询成绩的小玩意
  11. ubuntu 16.04安装网易云音乐
  12. Python中报错:系统找不到指定的文件;浏览器似乎在未打开之前就已经退出解决方法...
  13. 信息系统项目管理(二)网络协议、网络存储技术、网络工程、数据仓库和中间件
  14. action = “store_true
  15. SAP PS常用事务代码T-CODE
  16. 【Kafka】Kafka的安装
  17. 如何将EXCEL表格的内容导入到CDR中?
  18. C语言fopen函数的用法,C语言打开文件详解
  19. ROS(indigo)机器人操作系统学习有趣丰富的Gazebo仿真示例evarobot
  20. 模拟电子技术-二极管及其基本电路

热门文章

  1. 新功能抢先看!Windows 11 2022 版全新 ISO 镜像来了+下载
  2. Dapr云原生应用开发系列7:工作流集成
  3. 打独立运行包遇到无法trim咋解决
  4. ABP Vnext 4.4:统一Ef Core的DbContext/移除EF Core Migrations项目
  5. 不要笑!写 | 还是 || ,还真是一个问题
  6. iNeuOS工业互联操作系统,图表与数据点组合成新组件,进行项目复用
  7. 在 Asp.Net Core 中使用 worker services
  8. Kubernetes是容器化微服务的圣杯么?
  9. Asp.Net Core Ocelot Consul 微服务
  10. abp vnext2.0核心组件之.Net Core默认DI组件切换到AutoFac源码解析