Манипулировать HTML-элементами без runat = "server" - PullRequest
1 голос
/ 21 февраля 2012

Взгляните на это;сейчас это просто желаемое за действительное.

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 #.

1 Ответ

2 голосов
/ 21 февраля 2012

Ну, вы можете просто применить серверные теги <%=[...]%>, которые будут выглядеть примерно так:

<li><a href="www.google.com" class='<%=1==1?"selected":""%>'>google</a></li>

Кроме того, я боюсь, что вам может не повезти, если вы захотите сделать это только с помощью кода.

...