2012-09-19 30 views
0

我需要知道ASP.NET服務器端代碼是否可以引用在給定頁面上生效的樣式表。 ASP.NET代碼中是否可能有以獲取對樣式表中現有CSS選擇器的引用?在服務器端代碼隱藏中是否可以使用以下僞代碼?ASP.NET中的代碼隱藏/樣式表橋?在ASP.NET中的代碼隱藏中將樣式添加到css選擇器中?

 MyPage.Stylesheets(0)("DIV#foo").Attributes("display").Value = "none" 


    NOTE: Assume that <div id = 'foo'>lorem ipse...</div> has been injected 
    into the DOM by javascript. There is no server side counterpart to the DIV. 
    It was **not** part of the ASP.NET markup: <div id="foo" runat="server".... 

再次,服務器端,而不是jQuery/JavaScript客戶端。

我想基於某些服務器端條件使特定的DOM元素不可見,但該元素實例化了客戶端。我無法從服務器端代碼獲得對它的引用,但也許我可以引用樣式表中的選擇器?

感謝

+0

這並不容易做到,除非它的Runat =「服務器」的元素被渲染和將它們從服務器添加到DOM。直接解析CSS不值得需要額外的處理,因爲這可能會減慢你的應用程序。 –

回答

0

其實,我找到了一種方法來做到這一點,雖然沒有使用我所期望的方式。 Visual Studio的不喜歡以下,但它的工作原理:

<style type="text/css" media="all">DIV#foo{<%= FooCSS %>}</style> 

而在後臺代碼:

  Public Readonly Property FooCSS as String 
      Get 
      Return "display:none" 
      End Get 
     End Property