FrmHtml
.NET프로그래밍/ASP.NET 3.5 SP1 2009. 10. 8. 11:22 |
* 이전에 "FrmAdRotator (광고 컨트롤)"에서 "C:\...\WebStandardControl\"에 마우스 우클릭하여 "새 폴더"추가로 생성했었던 "images"폴더에 "btn_home.gif"이라는 '집그림의 이미지파일'을 추가하여 저장한다.( 이것은 [FrmHtml.aspx] 소스코드 중 "이미지"코드부분과 '하이퍼링크'가 걸려있는 "이미지맵"코드부분에서 사용할 '이미지파일'로 쓰기위해서이다.) 그런 다음에 아래와 같이 코드를 작성한다.
==> [FrmHtml.aspx] 소스 및 디자인
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="FrmHtml.aspx.cs" Inherits="FrmHtml" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>HTML 대체 컨트롤</title>
</head>
<body>
<form id="form1" runat="server">
<div>
하이퍼링크 : <a href="http://www.dotnetkorea.com/" title="닷코로이동" target="_blank">닷넷코리아</a>
<asp:HyperLink ID="lnkDotNetKorea" runat="server"
NavigateUrl="http://www.dotnetkorea.com/"
Target="_blank"
Tooltip="닷넷코리아로이동">
닷넷코리아
</asp:HyperLink><br />
<br />
이미지 :
<img src="./images/btn_home.gif" alt="홈으로..." title="홈으로..." />
<asp:Image ID="imgHome" runat="server" ImageUrl="./images/btn_home.gif" ToolTip="홈으로..."
AlternateText="홈으로..." /><br />
<br />
이미지맵 :
<img src="./images/btn_home.gif" border="0" usemap="#GoHome"/>
<map name="GoHome">
<area shape="circle" coords="16, 16 ,5" href="http://www.dotnetkorea.com/"
alt="닷넷코리아" target="_blank" />
<area shape="rect" coords="0,0,5,5" href="http://www.taeyo.net/" alt="태오닷넷" />
</map>
<asp:ImageMap ID="mapHome" runat="server" ImageUrl="./images/btn_home.gif">
<asp:RectangleHotSpot AlternateText="태오닷넷" Bottom="5" HotSpotMode="Navigate"
NavigateUrl="http://taeyo.net" Right="5" Target="_blank" />
<asp:CircleHotSpot AlternateText="닷넷코리아" HotSpotMode="Navigate"
NavigateUrl="http://www.dotnetkorea.com/"
Radius="5" Target="_blank" X="16" Y="16" />
</asp:ImageMap><br />
<br />
<br />
테이블 :
<br />
<!-- HTML코드(태그) : 정적이다. -->
<table border="1">
<tr>
<td>
1행1열테이블
</td>
</tr>
</table>
<br />
<!-- ASP.NET코드(서버컨트롤) : 동적이다. -->
<asp:Table ID="tblTable" runat="server" GridLines="Both">
<asp:TableRow ID="TableRow1" runat="server">
<asp:TableCell ID="TableCell1" runat="server" BackColor="Lime">1행1열</asp:TableCell>
<asp:TableCell ID="TableCell2" runat="server" BackColor="Yellow">1행2열</asp:TableCell>
</asp:TableRow>
<asp:TableRow ID="TableRow2" runat="server">
<asp:TableCell ID="TableCell3" runat="server" BackColor="Blue">2행1열</asp:TableCell>
<asp:TableCell ID="TableCell4" runat="server" BackColor="Red">2행2열</asp:TableCell>
</asp:TableRow>
</asp:Table>
<br /><br /><br />
목록:
<!-- HTML코드(태그) : 정적이다. -->
<ul>
<li>C#</li>
<li>ASP.NET</li>
</ul>
<!-- ASP.NET코드(서버컨트롤) : 동적이다. -->
<asp:BulletedList ID="bulFavorite" runat="server" BulletStyle="UpperRoman">
<asp:ListItem>C#</asp:ListItem>
<asp:ListItem>ASP.NET</asp:ListItem>
</asp:BulletedList>
</div>
</form>
</body>
</html>
-------------------------------------------------------------------------------------
==> [FrmHtml.aspx.cs] 소스
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class FrmHtml : System.Web.UI.Page
{
// 페이지 로드시에 '동적'으로 '목록(List)'에 '데이터(ListItem)'를 추가
protected void Page_Load(object sender, EventArgs e)
{
bulFavorite.Items.Add(new ListItem("Silverlight", "Ria"));
}
}
-------------------------------------------------------------------------------------
[실행결과]
--> 위에 있는 [FrmHtml.aspx] 소스코드는 "HTML태그"를 대체할 수 있는 "ASP.NET 웹표준컨트롤"을 비교해본 예제이다. [FrmHtml.aspx] 소스코드에서 "하이퍼링크"/ "이미지"/"이미지맵"/"테이블"/"목록(List)"에서 각각의 예제소스코드를 "HTML태그"와 "ASP.NET 웹표준컨트롤"로 하나씩 작성하여 각각 비교해보았다. 실행해보면 아래그림과 같이 웹 페이지에 각각의 부문에서 한쌍씩 출력되는데, 웹 페이지의 결과를 살펴보면 "ASP.NET 웹표준컨트롤"을 사용해서도 "HTML태그"를 대체할 수 있거나, 이에 더하여 "동적인 기능"도 추가할 수 있다. 이것은 "동적인 ASP.NET 웹표준컨트롤(서버컨트롤)"이 "정적인 HTML태그"에 비해 갖는 장점이다.(아래그림을 살펴보면 "하이퍼링크"/"이미지"/"이미지맵"에서의 기능은 "ASP.NET 웹표준컨트롤"을 사용하여 "HTML태그"를 사용한 것과 동일하게 출력하였으며, "테이블"에서는 아래쪽의 4가지색으로 칠해진 테이블은 "ASP.NET 웹표준컨트롤"을 사용하여 "동적"으로 웹 페이지에 출력해 본 것이다. 그리고 웹 페이지 맨아래부분의 "목록"은 [FrmHtml.aspx] 소스코드에서 "ASP.NET 웹표준컨트롤"소스를 보면 목록<List>에 입력된 "ListItem"은 2개('C#'과 'ASP.NET')이다. 하지만 웹 페이지에 '목록'이 출력될 때는 "ListItem"이 3개로(->동적으로) 늘어난 것을 볼 수 있다('C#'과 'ASP.NET'에 더하여 "Silverlight"가 추가되었다.). 이것도 [FrmHtml.aspx] 소스코드에서의 "ASP.NET 웹표준컨트롤(서버컨트롤)"사용과 함께 [FrmHtml.aspx.cs] 소스코드에서 "C#코드를 작성"하여, 실행 후 웹 페이지에서 '페이지 로드시'에 '동적'으로 '목록(List)'에 '데이터(ListItem)'가 추가되도록 "동적인 기능을 구현"한 것이다.)
* 참고사항 - 클라이언트(Client)의 방문이 많은(가령 클라이언트가 10만이상 규모의 큰 웹 사이트) 웹사이트는 "ASP.NET 웹표준컨트롤"로 "HTML태그"를 대체할 수 있더라도 성능(속도)에서 차이가 나므로(("ASP.NET 웹표준컨트롤"보다 비교적 가벼운)"HTML태그"가 더 빠르다.) 가급적 "HTML태그"로 코드를 작성하는 방법을 추천한다.
'.NET프로그래밍 > ASP.NET 3.5 SP1' 카테고리의 다른 글
"기본형 게시판" 만들기 - WebBasic (0) | 2009.10.09 |
---|---|
FrmFileUpload (0) | 2009.10.08 |
FrmPlaceHolder (자리표시자) (0) | 2009.10.08 |
FrmPanel (0) | 2009.10.08 |
FrmXml (XML 컨트롤) (0) | 2009.10.08 |