* 이전에 "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>

                    11열테이블

                </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">11</asp:TableCell>

                <asp:TableCell ID="TableCell2" runat="server" BackColor="Yellow">12</asp:TableCell>

            </asp:TableRow>

            <asp:TableRow ID="TableRow2" runat="server">

                <asp:TableCell ID="TableCell3" runat="server" BackColor="Blue">21</asp:TableCell>

                <asp:TableCell ID="TableCell4" runat="server" BackColor="Red">22</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
Posted by holland14
: