一页中的多个Evals

时间:2011-08-16 17:57:47

标签: c#

我在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

2 个答案:

答案 0 :(得分:2)

出于简单的原因,HTML id属性在页面上应该是唯一的。如果您需要某些内容与某些文本相关联,则应使用其他属性,或以不同方式标记它们。如:

rel="<%# Eval("myId") %>"
class="<%# Eval("myId") %>"

答案 1 :(得分:1)

您是否要为lia提供相同的ID?

您可以根据需要多次使用Eval。但是,您正在使用该值作为两个元素的ID,这就是VS抱怨的内容。

我可能会建议

   <li id="li_<%# Eval("myID") %>">
     <a id="a_<%# Eval("myID") %>"></a>
   </li>