본문 바로가기

   
Programming/ASP.NET(4.0)

ASP.NET 기본이론

반응형

ASP.NET 기본이론

프로젝트 -> 결과물(cs,리소스) -> 실행파일(exe,dll) <- 응용 프로그램


웹프로젝트(사이트) -> 결과물(html.aspx,리소스 / 확장자만 다른 html파일) -> 실행파일(dll) <- 웹응용 프로그램


웹위치 종류

파일 시스템(모든 자원을 한폴더에 저장하겠다.)

HTTP(원래 정석은 HTTP 이고 ASP1.1 부터 사용하였다.) 이방식을 사용하는것이 가장좋다.

IIS와 비슷한 것을 보여준다.

FTP(원격 사이트 개발시 FTP 서버/ 포트 번호 / 디렉터리 넣으면 실제 열고자 하는 서버가 뜬다.


파일시스템으로 만들게 되면 미니 IIS 가상 서버가 돈다.

ASP.NET 프로젝트 운용 방식
1. 파일시스템 : IIS가 설치되지 않았거나, IIS와 연동이 필요없는 기능을 개발할때 사용 하는 모드
예전에는 IIS가 없는 상태에서는 개발 하기가 불가능 했다. 하지만 이제는 미니 IIS를 통해 개발이가능하다

2. HTTP : IIS 연동 모드, 모든 개발환경이 IIS를 통해서 실행이 되는 모드. 가장 정확한모드 -> 실제 웹서비스 환경과 동일함

3. FTP, 원격 사이트 : 원격 모드, 외부에서 접속해서 개발 환경

**프로젝트 저장
- 되도록 사이트 실제 경로에 한글, 공백, 특수문자는 포함안되게..
- 바탕화면.. 내문서.. 추천안함.(모두 영어로 저장)

*.htm
= XHTML + CSS + Javascript

*.aspx 
= XHTML + CSS + Jvascritp + C#(프로그램) + ASP.NET태그(디자인)

ASP.NET
 - Active Server Pages .NET
 - 동적으로 서버에서 웹페이지를 만드는 기술
- C# / VB.NET 구현

ASP
 - Active Server Pages
 - VBScript, Javascript 구현
 - PHP, CGI, JSP

윈도우 XP

윈도우7에서 asp4.0 돌아가게 하려면~~~
도스 모드 : C:\Windows\Microsoft.NET\Framework64\v4.0.30319>   aspnet_regiis.exe -i


위사진으로 만든후 한파일에 C#코드를 한페이지에 다사용할수 있다.

요새는 많이 안쓰인다. 한파일에는 디자인 한파일에는 C#을 분리하여 많이 사용한다.

결과는 100% 같다.



ASPX 페이지 기본 구성
1. <%@ Page ...%>
   - 페이지 지시자
   - 웹페이지 처리 프로그램에게 페이지의 정보를 알려주는 역할(헤더역활)

2. runat="server"
  - 서버측에서 인식하고 핸들링 가능한 요소 표식
  - 서버컨트롤 runat="server" 붙지 않은것은 클라이언트 컨트롤

IIS서버가 체크
1. 페이지가 있는지 없는지 체크
IF(있다면)
{
  aspx는 등록 되어 있기때문에
   IIS에 등록이 되어있는 확장자
}
ELSE
{
 ISS에 등록되어 있지 않는 확장자
페이지를 처음부터 끝까지 다읽는것을
클라이언트에 리턴~
}
  
IIS : 스스로 처리할수 있는게 없다. IIS 가 ASP로 오는 모든확장자를 파일을 통째로 실행기에게 소스그대로 던져준다. 그래서 실행기가 일을 처리하고
그외에 나머지 결과 물들만 남는다. 동적인 결과물 = 텍스트(조작된 파일을 돌려준다.)

돌려준 파일을 캐쉬에 임시 저장하고, 브라우져에서 로딩을 한다.
이미 조작해서 끝났기 때문에 HTML페이지와 HTML페이지와 똑같은 자바스크립트만 남는다.
그걸읽어들인게 브라우져에서 소스보기 파일이다~

서버 : C#관련 코딩일 내가 다한다!(html렌더링(브라우져가 아는걸로) 해서 클라이언트에게 돌려준다. <span></span>으로 돌려준다. 그외에 클라이언트에게 돌려주는 규칙이 있다.
클라이언트 : 난 HTML 코딩작업만 한다!

ASP.NET 컨트롤

1. ASP.NET 컨트롤

<!--

             ASP.NET에서 추가된 컨트롤(전용)

             - 브라우저는 인식 못함

             - 랜더링을 통해서 브라우저가 인식 가능한 태그로 변환

             -->

             <asp:Button runat="server" />                

 

2. HTML 컨트롤
 - 태그
 - 브라우저가 인식 가능
 - 서버측에서 인식 불가능

<input type="submit" />


3. HTML 서버 컨트롤
 - 태그(2번과 거의 유사)
 - 태그에  runat="server"  속성을 추가하면 HTML 서버 컨트롤이 된다.


3가지 종류의 버튼


.ASPX

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Ex04.aspx.cs" Inherits="Ex04" %>

 

<!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></title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

       <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />

&nbsp;ASP.NET 서버 컨트롤<br />

             <br />

             <input id="Submit1" type="submit" value="submit" /> HTML 컨트롤<br />

             <br />

             <input id="Submit2" type="submit" value="submit" runat="server" /> HTML 서버 컨트롤</div>

    </form>

</body>

</html>

 

 

.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 Ex04 : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

 

    }

       protected void Button1_Click(object sender, EventArgs e)

       {

             //3개의 버튼을 C#으로 제어..(DB, 파일 연동..)

             //1. ASP.NET

             Button1.Text = "접근함";

 

             //2 HTML - 이쪽(*.cs)에서는 인식 불가능 -> 핸들링 x

             //submit1

 

             //3. HTML Server

             Submit2.Value = "접근함";

       }

}

 









반응형