0

asp.net mvc(C#)アプリケーションに、部分ビュー(Partial.ascx)、2つのマスターページ(Master1.MasterおよびMaster2.Master)、および2つのビュー(Page1.aspxおよび)があります。Page2.aspxマスターページごとに異なるスタイルシートを参照しました。

マスターページがであるView()で部分ビュー(Partial.ascx)をthickboxとして表示する場合、要素のスタイルに影響を与えることなく、thickbox内の要素のスタイルを参照するスタイルシートで上書きする必要があります。Page1.aspxMaster1.MasterMaster2.MasterPage1.aspx

私は次のように試しました:

$("link[href*='style1.css']").remove();

しかし、このクエリの問題は、Page1.aspxビューに反映されることです。これは、シックボックスを閉じるか、ページのシャドウビューに表示されると、そのページのスタイルが消えてしまいます。

メインのビュー要素に影響を与えることなく、jqueryを使用してシックボックス内の要素のスタイルシートを上書きするにはどうすればよいですか?

4

2 に答える 2

0

自分自身のシックボックス内にあるスタイルのみを削除しようとしましたか?#thickboxがthickboxのIDであるこのようなもの。

$("link[href*='style1.css']", '#thickbox').remove();

于 2010-01-26T06:57:18.167 に答える
0

ページがブラウザによってロードされるときに、スタイルが設定され、ページで使用されます。ページがレンダリングされた後、表示されたページですべてのcssルールが使用されているため、リンク要素を削除しても何も影響しなくなります。

あなたができることは、スタイルシートを再構築することです。それを別のcssファイルに分割し、ツアーのニーズに応じてビューにロードします。PHPでは、ページがAJAXによってロードされたか、通常のリクエストによってロードされたかを簡単ifに検出できるため、必要に応じてさまざまなCSSをロードできます。asp.netで同じことを行う簡単な方法があるはずだと思います。

于 2010-01-26T08:04:59.843 に答える