css - ASP.Net MVC 共享布局中的一些 CSS 和 JS 不应该在内容页面中使用
问题描述
我是 asp.net MVC 的新手。我有一些使用相同共享布局页面的视图。现在我得到了一个新的共享布局页面,它具有特定的设计,因此具有关联的新 css 和 js 文件。
我了解内容页面只是在共享布局页面的@RenderBody 部分中注入它们的标记。但是我们仍然有什么方法可以确保某些 css 和 js 不会影响子页面的标记。
解决方案
听起来您的意思是您的 CSS 是针对您的布局页面的,这也(不希望地)影响您的视图?
正如您所说的那样,@RenderBody 只是将您视图中的内容插入到布局页面中,并且生成的是一个完整的文档。任何 CSS 或 JavaScript 都会影响整个页面。但是,您可以控制它影响哪些元素,我认为这是您的问题。
您只需要在 CSS 中使用更具体的选择器。例如,如果您的母版页中有一个 div,您希望在该 div 上添加边框:
div { border: 1px solid black; }
<div></div>
会很糟糕,因为它会影响页面上的每个 div。尝试创建类并将它们应用于您的元素,例如:
.div-black-border { border: 1px solid black; }
<div class="div-black-border"></div>
相同的逻辑可以应用于您的 javascript 选择器(假设这是问题所在)。
推荐阅读
- java - Maven 依赖于较旧的 Spring Boot 版本
- linux - u-boot2019 和 linux 内核最新的 C 交叉编译器是哪个?
- python-3.x - 如何在每个元素的列表中用“_”替换空格 - Python
- python - 我的 python 脚本不从 html 打印表格
- android - 尝试将 Gradle 插件从 3.5.1 迁移到 3.5.2 时数据绑定中的 StackOverflowError
- c - 同时绘制正弦和余弦曲线
- perl - Perl 单引号替换
- graph - Neo4J - 根据节点属性值选择 MATCH 语句
- nginx - 将 api/rest 的 Nginx URL 重写为 rest/v1
- sql - SQL 创建多个与单个“状态表”