MVC改变默认主题

  • 视图:
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Show</title>
    @*
        传输路径:@Url.Action("传输路径的方法")
        指明样式类型:type="text/css"
    *@
    <link href="@Url.Action("/Css")" rel="stylesheet" type="text/css" />
</head>
<body>
    <div>
        <h1>用Show方法改变字体颜色:</h1>
        <h3>获取到的值为:@ViewBag.color</h3>
        <form action="/Default/Show" method="post">
            <input type="radio" name="color" value="black" />黑色<br />
            <input type="radio" name="color" value="red" />红色<br />
            <input type="radio" name="color" value="blue" />蓝色<br />
            <input type="submit" value="保存" />
        </form>
    </div>
</body>
  • 控制器:
public ActionResult Show()
        {
            return View();
        }
        [HttpPost] //接收post的值才执行该方法
        public ActionResult Show(string color)
        {
            //用cookie存储该值【第一次初始化时,存储该new HttpCookie("color", color),第二次后,直接取cookie中的值来用】
            HttpCookie cookie = Request.Cookies["color"] ?? new HttpCookie("color", color);
            cookie.Expires = DateTime.MaxValue;//永不过期
            ViewBag.color = color;
            cookie.Value = color;
            //缓存cookie
            Response.SetCookie(cookie);
            return View();
        }

        public ActionResult Css()
        {
            HttpCookie cookie = Request.Cookies["color"] ?? new HttpCookie("color", "black");
            switch (cookie.Value)
            {
                case "red":
                    return Content("body{ color:red }", "text/css");
                    break;
                case "blue":
                    return Content("body{ color:blue }", "text/css");
                    break;
                default://前面都不执行,就执行它
                    return Content("body{ color:black }", "text/css");
                    break;
            }
            //return View();
        }

版权声明:本文为wqy18378671261原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。