In .NET 4.0 there is a new option when adding controls to a page or user control: ClientIDMode. This property offers you four choices: Legacy, Static, Predictable, Inherit. Previously it was almost impossible to find the id of a control in a normal matter such as jQuery. Using
Choosing Legacy will continue to issue an ID in the same manner they were generated in previous version of ASP.NET, by concatenating the ID values of each parent naming container with the ID of the control. Setting the property to Static will use the exact value of the ID property of the server control. Predictable is used for controls that are data-bound controls such as repeater and also makes use of a ClientIDRowSuffix property. Using Inherit makes the control ID property use the setting of its parent control.
In the example below, two lists are created inside the ContentPlaceHolder of a page using the same DataSource. The first is using the default and the second uses the new property with Static set as the value.
Here is the output of the page in HTML
And the corresponding view in the browser
• Red • Blue • Yellow • Green • Red • Blue • Yellow • Green • Brown
Because of the generated tag on the first list jQuery can’t find the control to append to.
Link to a bunch of articles on upcoming features in .NET 4.0 and VS 2010
Scott Guthrie has an article up on his website discussing the new auto-start feature of web applications that will be available in IIS7.5 with ASP.NET 4.0. I just learned about this last week at the Southern Fried Road Show.
.NET 4.0 and VS 2010 introduce a new feature for the Entity Framework called model first. In addition, you will now be able to have a code only model. Written with POCOs and a simple class derived from ObjectContext and you are on the way…