Programming/ASP.NET 4.0
ASP.NET 4.0 미리 살펴보기
woody.choi
2010. 2. 2. 09:51
비쥬얼 스튜디오 2010과 asp.net 4.0에서는 웹 어플리케이션을 만드는데 있어서 두개의 가장 큰 프레임워크를 제공합니다. 첫번째는 ASP.NET MVC Framework이고 다른 하나는 ASP.NET Web Form Framework입니다.
그 밖에 여러가지 새로운 기능이 추가되었으나, 그중에서도 서버사이트 웹컨트롤들에 대한 내용을 다루어 보겠습니다.
1) CSS-Friendly HTML
<asp:Menu runat="server" ID="_menu">
<Items>
<asp:MenuItem Text="Home" NavigateUrl="~/Default.aspx" />
<asp:MenuItem Text="Shop" NavigateUrl="~/Shop.aspx" />
</Items>
</asp:Menu>
위의 서버 컨트롤은 다음과 같은 HTML로 변환됩니다.
<table class="..." cellpadding="0" cellspacing="0" border="0">
<tr id="_menun0">
<td>
<table cellpadding="0" cellspacing="0"
border="0" width="100%">
<tr>
<td style="...">
<a class="..." href="Default.aspx">Home</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
그러나 ASP.NET 4.0 에서는 다음과 같이 변환됩니다.
<div id="_menu">
<ul class="level1">
<li><a class="level1" href="Default.aspx" target="">Home</a></li>
</ul>
</div>
ASP.NET 4.0 의 서버 컨트롤들은 CSS과 유사한 속성을 제공합니다.
2) Generating Client IDs
기존의 ASP.NET에서는 ClientID가 다음과 같이 상위 컨트롤의 아이디와 합쳐진 구조로 생성되었다.
ctl00_content_ctl20_ctl00_loginlink
ASP.NET은 새로운 구조를 추가하였다. 예 2-1은 설정된 아이디 그대로 HTML로 변환된다. 즉, 'checklist'로 될 것이다. 그러나 2-2는 employeeList_IsSalaried_10 과 같이 EmployeeID가 로 각 체크박스 노드의 아이디의 마지막에 붙는다. 기본속성은 Inherit이다. 이 설정은 하위노느로 자동으로 상속되어진다. 마지막으로 AutoID가 있는데 이는 이전 버전과 동일한 구조로 클라이언트 아이디를 생성한다.
예2-1)
<asp:CheckBoxList runat="server" RepeatLayout="OrderedList"
ID="checklist" ClientIDMode="Static">
<asp:ListItem>Candy</asp:ListItem>
<asp:ListItem>Flowers</asp:ListItem>
</asp:CheckBoxList>
예2-2)
<asp:ListView runat="server" ID="employeeList"
ClientIDMode="Predictable"
ClientIDRowSuffix="EmployeeID">
<ItemTemplate>
<asp:CheckBox runat="server" ID="IsSalaried"
Checked=<%# Eval("IsSalaried") %> />
</ItemTemplate>
</asp:ListView>
3) New Project Template
web.config의 내용은 간결해졌으며, Scripts폴더가 새로 생겼으며 여기에는 JQuery가 들어가 있다. 또한 마스터 페이지 및 스타일 시트를 기본으로 제공하고 있다.
그 밖에 여러가지 중요 특성이 ASP.NET MVC 프레임워크에 추가 되었다.