日期:2014-05-18  浏览次数:20450 次

Repeater 中的 TextBox 的 ID 能够指定命名吗?
开发环境:VS 2005

HTML CODE
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<tr>
<td><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td>
</tr>
</ItemTemplate>
</asp:Repeater>

问题:Repeater 绑定了 10 条数据,现在需要指定每一个 TextBox 的 ID 值,分别对为 Eval("Title")

我的书写是:<asp:TextBox ID="<%# Eval("Title") %>" runat="server"></asp:TextBox>

编译就会出现:服务器标记的格式不正确。

请问应该怎么书写呢?

------解决方案--------------------
Text='<%#Eval("Title") %>' (单引号)
这是做什么?为什么不绑到text中,绑到ID上。
------解决方案--------------------
控件的ID只能使用简单值来赋值。
主要可能是因为ID是要在compile time确定,而Eval则是在runtime才能确定值
------解决方案--------------------
不要用这个控件了,2008里出来了一个listview控件,可以几乎替代以前所有的表格数据处理控件,我们老师推荐的