在一页中包含多个eval

本文关键字:eval 包含多 一页 | 更新日期: 2023-09-27 18:05:40

我在c#中有一个重复器,它生成具有id的唯一li标记和一些其他元素。

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

我在VS中得到一个标记错误,'另一个对象已经存在,ID <%# Eval("myID") %>'

为什么不能在页面中多次使用<%# Eval("myID") %> ?它编译并运行,只是它被标记为警告…

是c# 4.0, asp.net

在一页中包含多个eval

原因很简单,HTML id属性在一个页面上应该是唯一的。如果您需要某些东西与某些文本相关联,则应该使用另一个属性,或者对它们进行不同的标记。如:

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

您想给lia相同的ID吗?

你可以随心所欲地使用Eval。你使用那个值作为两个元素的ID,这就是VS抱怨的地方。

我建议

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