Tue, November 20, 2007, 07:45 AM under
Orcas |
VisualStudio
If you open your existing Beta 2 web projects with
VS 2008 RTM, and you were using the new ListView (one of the 3
new web controls), you may face the following error:
System.InvalidOperationException: An item placeholder must be specified on ListView 'ListView1'. Specify an item placeholder by setting a control's ID property to "itemPlaceholder". The item placeholder control must also specify runat="server".There are two changes to be aware of:
1. Instead of
itemContainer (which is probably what you are using from Beta 2), you must now change the id to be equal to
itemPlaceholder. Make this change and your project will compile.
2. The control that has the
id="itemPlaceholder" does not get rendered at runtime anymore (it gets removed and replaced with multiple instances of the
ItemTemplate). So if you were using for example a
ul and had some CSS on it for the
li, this styling is now lost. The solution, of course, is to place the outer element (e.g.
ul) on its own and within it place a
asp:Placeholder whose
ID you set to "itemPlaceholder".
An example of both of the above:
<LayoutTemplate>
<ul class="myCSSrule">
<asp:PlaceHolder ID="itemPlaceholder" runat="server" />
</ul>
</LayoutTemplate>
Easy once you know how ;-)