我是 asp.net MVC 的新手。我有一些 View 使用相同的共享布局页面。现在我得到了一个新的共享布局页面,它具有特定的设计,因此具有关联的新 css 和 js 文件。
我理解内容页面只是将它们的标记注入(inject)共享布局页面的@RenderBody 部分。但是我们仍然有办法确保某些 css 和 js 不应该影响子页面的标记。
最佳答案
听起来您的意思是您的 CSS 适合您的布局页面,它也会(不希望地)影响您的 View ?
正如您所说的那样,@RenderBody 只是将您 View 中的内容插入到布局页面中,生成的是一个完整的文档。任何 CSS 或 JavaScript 都会影响整个页面。但是,您可以控制它影响哪些元素,我认为这是您的问题。
您只需要在 CSS 中使用更具体的选择器。 例如,如果您的母版页中有一个您想要边框的 div:
div { border: 1px solid black; }
<div></div>
会很糟糕,因为它会影响页面上的每个 div。尝试创建类并将它们应用于您的元素,例如:
.div-black-border { border: 1px solid black; }
<div class="div-black-border"></div>
相同的逻辑可以应用于您的 javascript 选择器(假设这就是问题所在)。
关于css - ASP.Net MVC 共享布局中的一些 CSS 和 JS 不应在内容页面中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52146963/