我的部分视图(Partial.ascx
),两个母版页(Master1.Master
和Master2.Master
)以及我的两个视图(Page1.aspx
和Page2.aspx
) asp.net mvc(C#)应用程序。我为每个母版页引用了不同的样式表。
当我将部分视图(Partial.ascx
)显示为主页面为Page1.aspx
的视图(Master1.Master
)中的厚箱时,我需要用样式覆盖厚箱内的元素样式表格引用Master2.Master
,不影响Page1.aspx
元素的样式。
我试过了:
$("link[href*='style1.css']").remove();
但是这个查询的问题是它反映在Page1.aspx
视图中,当我关闭厚盒或页面的阴影视图时,该页面的样式消失了。
如何在不影响主View元素的情况下使用jquery覆盖thickbox中元素的样式表?
答案 0 :(得分:0)
您是否尝试过仅移除厚盒内的样式?像这样的东西,其中#thickbox是厚箱的ID。
$("link[href*='style1.css']", '#thickbox').remove();
答案 1 :(得分:0)
当浏览器加载页面时,在页面中设置并使用样式。渲染页面后,删除链接元素不会再影响任何内容,因为所有css规则都已在显示的页面中使用。
您可以做的是重构样式表。将其分成不同的css文件,然后根据游览需要加载视图。在PHP中,我可以使用简单的if
来检测是否由AJAX加载页面或正常请求,因此我可以根据我的需要加载不同的CSS。我相信应该有简单的方法在asp.net中做同样的事情。