2012-02-21 111 views
1

看看這個;現在,這只是一廂情願的想法。無runat =「server」操縱HTML元素

Default.aspx的

<ul id="menuemenue" runat="server"> 
    <li><a href="www.google.com">google</a></li> 
    <li><a href="www.yahooo.com">yahooo</a></li> 
    <li><a href="www.stackoverflow.com">stackoverflow</a></li> 
</ul> 

Default.aspx.cs

foreach (var item in menu.Elements("a")) 
    { 
     if (item.Attribute("href") == currentPageUrl) 
     { 
      item.addClass("selected"); 
     } 
    } 

我知道我可以寫我自己的小HTML引擎(或任何你想調用做到這一點它)並操縱menu.innerHtml。但是我有另一種選擇嗎?

更新

我知道它可以用JavaScript/jQuery的完成,並且在不同的方式100。但想象一下,如果你能像我的例子那樣做,你的C#代碼將會如何清潔。

+0

你只是想將CSS應用到它? – 2012-02-21 15:12:50

+0

那麼在這個例子中,我想給它一個類是的。但更多的是操縱HTML元素而沒有runat =「server」屬性的概念。 – BjarkeCK 2012-02-21 15:15:40

+0

你需要做服務器端嗎? – 2012-02-21 15:16:02

回答

2

那麼你可以只適用於服務器標籤<%=[...]%>這將是這個樣子:

比我怕你可能是出於運氣,如果你想通過只隱藏代碼做
<li><a href="www.google.com" class='<%=1==1?"selected":""%>'>google</a></li> 

其他。

+0

好吧,我想我需要編寫必要的代碼myselvf然後:/ 當我完成時,認爲任何人都會對它感興趣嗎?或者我是一個想要這樣做的怪胎? – BjarkeCK 2012-02-21 15:37:42