As it turns out, I still do need the runat="server" in the Li element. The change that was necessary was to reference the control by it's design time name. What confused me here in the first place was that a while back i wrote some javascript and had to reference controls by their run time name rather than their design time name.