我在C#中有一个转发器,它使用ID生成唯一的li标签并具有其他一些元素。
<li id="<%# Eval("myID") %>">
<a id="<%# Eval("myID") %>"></a>
</li>
我在VS中遇到了一个标记错误,'另一个对象已经存在且ID&lt;%#Eval(“myID”)%&gt;'
为什么我不能使用&lt;%#Eval(“myID”)%&gt;在页面中多次?它编译并运行,只是它被标记为警告..
它是C#4.0,asp.net
答案 0 :(得分:2)
出于简单的原因,HTML id属性在页面上应该是唯一的。如果您需要某些内容与某些文本相关联,则应使用其他属性,或以不同方式标记它们。如:
rel="<%# Eval("myId") %>"
class="<%# Eval("myId") %>"
答案 1 :(得分:1)
您是否要为li
和a
提供相同的ID?
您可以根据需要多次使用Eval
。但是,您正在使用该值作为两个元素的ID,这就是VS抱怨的内容。
我可能会建议
<li id="li_<%# Eval("myID") %>">
<a id="a_<%# Eval("myID") %>"></a>
</li>