2011-08-16 33 views
1

我在C#中有一个中继器,它使用ID生成唯一的li标签并具有其他一些元素。多个Eval在一个页面中

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

我得到VS标记错误,那是另一个对象已存在与ID <%#的eval( “身份识别码”)%>'

为什么我不能用<%#的eval( “myID”)%>在页面中多次?它编译和运行,只是它被标记为警告..

这是C#4.0,asp.net

回答

1

你有没有想给lia相同的ID?

您可以根据需要多次使用Eval。不过,你将这个值用作两个元素的ID,这就是VS抱怨的。

我可能会建议

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

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

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