2011-08-16 35 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") %>"