在没有runat=“”的情况下操作HTML元素;服务器”;

本文关键字:HTML 操作 元素 服务器 情况下 runat | 更新日期: 2023-09-27 18:25:22

看看这个;现在,这只是一厢情愿的想法。

默认.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>

默认.aspx.cs

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

我知道我可以通过编写自己的小HTML引擎(或者你想怎么称呼它)并操作menu.innerHtml来实现这一点。但我还有别的选择吗?

更新

我知道它可以用javascript/jquery完成,并且有100种不同的方式。但是想象一下,如果你能像我的例子那样做,你的c#代码会有多干净。

在没有runat=“”的情况下操作HTML元素;服务器”;

您可以应用服务器标签<%=[...]%>,它看起来像这样:

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

除此之外,如果你只想通过代码绑定来完成,我担心你可能会运气不佳。