呵呵,这个问题是有一定的难度,不过如果你分析了.NET的输出的HTML代码或者你了解.NET的运行机制,这个问题一点都不难。在.NET中,为了保证HTML控件在HTML中的NAME和ID的唯一性,引入了名称空间的概念,即每个控件都从根开始,逐级的把上级的NAME和ID加入到子控件中,这样可以避免不同的控件(特别是USERCONTROL)控件名重复时的有效区别。解决:需要对DataList的ItemDataBound事件写代码,在代码中:e.Item.FindControl("IBMenu").UniqueID就是对应的HTML ID