首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在MVC中使用下拉菜单更改CSS样式

在MVC中使用下拉菜单更改CSS样式
EN

Stack Overflow用户
提问于 2013-12-08 14:15:10
回答 1查看 821关注 0票数 0

我正在尝试做一个下拉菜单,其中有许多项目(阿米莉亚,塞鲁利,科斯莫,赛博,平版,日刊)。这些项目中的每一项都表示一个css文件。当其中一个被选中时,我希望我的网站能把这个选定的css文件应用到网站上。我希望下拉菜单能够与jquery进行交互,这意味着当项目被选中时,jquery接管并对某些mvc操作结果进行一个asyn/ajax调用。顺便说一句,我正在使用MVC 5,我希望有人能帮我勾勒出最初的基础。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-08 22:00:36

我已经在我的应用程序中实现了这一点。

不过我不知道该怎么跟你说。如果我们有一个尝试的解决方案要修复,就会更容易。

下面是关于我的工作原理的概述:

  • 我创建了一个名为SharedController.的控制器它的目的是包含各种行动,使共同的行动。所有的操作都被认为是ChildActionOnly
  • My _Layout使用RenderAction来呈现位于my SharedController中的动作SharedController。
  • 更重要的是,Navbar分部然后使用RenderAction来呈现动作RenderAction。此操作负责获取可用主题的列表。可用主题列表在应用程序启动时确定。我创建了一个ThemeFinder类和ThemeRepository类,它们负责查找和存储主题。ThemeFinder通过给出的表达式查找主题。在一个名为App_Start/ThemeConfig的新类中,我只给了它一个表达式-- "~/Content/themes/{name}.bootstrap.css“。这将在该位置找到具有该命名约定的所有主题。
  • 我的剃须刀代码将接受ViewModel并显示一个在导航栏中下拉菜单
  • 要更改主题,下拉菜单中包含一个名为ThemeController.中的SaveTheme的操作。此操作以主题名称作为字符串,并尝试将其保存在cookie中供用户使用。
  • 如果成功找到并保存了主题,则该操作将使用成功消息进行响应。
  • 然后,jQuery通过找到关联的链接属性并将HREF内容更改为新主题来更改主题。它知道新的主题相对URL,因为我把它存储在数据属性中。

在切换到安古拉杰之前,我已经完成了这个任务。我打算回去修改的一件事是尽可能多地(也许全部)删除jQuery,并用更好的代码替换它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20454391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档