상세 컨텐츠

본문 제목

C# 웹프로그래밍 시작

C++,C#, ASP.NET

by 김일국 2010. 4. 22. 15:27

본문

//================================================================================================

#작업01

 

C# (ASP.NET)

콘솔 ->

웹폼 / 윈폼

 Windows Application
 Web Application

웹폼 : Web Form

1. 새 프로젝트 -> ASP.NET Web Application

 빌드 후 /bin/ 폴더에 프로젝트명.dll파일 생성
 전체 웹폼(aspx)을 빌드 후 dll  파일 생성 후 실행
 하나의 프로젝트에 하나라도 에러있으면 에러

2. 새 웹사이트 -> ASP.NET Website     ---> 교재와 강의 는 웹사이트로
 페이지 단위 빌드 후 웹페이지 실행
 해당 페이지 만 에러가 없으면 해당 페이지만 실행가능

 

* 참고
코드, 디자인, 폼

1. 차이점 비교
2. 솔루션 우측마우스 -> 추가 새 프로젝트 (새 웹사이트 에서도 됨)

볼드체
시작페이지로 설정

Default.aspx ---> 디자인

서버측 스크립트 언어 ---> ASP.NET 유일 (받아서 가공...)

윈도우 경고창(alert...), document... ---> HTML 만 유일

 


* 자바스크립트 주요 명령어

window
document
location
history
form

 

* ASP.NET 주요 명령어

Response
Request
Server
Application : public
Session : private

 

 

* 각 기능 명령어는 . 찍었을 때 나온다

Response

 Response.Write() 출력
 Response.End() 현재페이지 종료
 Response.Redirect() 지정된 사이트로 이동

Request

 Request.UserHostAddress 현재 접속자의 IP주소
 Request.Form() 컬렉션 : post 방식으로 전송된 값 받기
 Request.QueryString() 컬렉션 : get 방식 전송 값 받기
 Request[]/ Request.Parms() : post + get

Server

 Server.MapPath("") 서버측 경로

Application : public

 Application[""] : 웹사이트내에서 누구나 다 접근할 수 있는 전역변수
   예) Application["SITE_NAME"] = "닷넷코리아" // 누구나 다 동일한 값
       을 설정할 수 있다.
 Public : 동일한 이름의 Application 전역변수는 딱 하나만 생성 

 Application.Lock();
 Application["어떤이름"] = "값"
 Application.UnLock();

 
Session : private

 Session[""] : 웹 사이트내에서 나만 접근할 수 있는 전역변수
   예) Session["UserID"] = "Red";   // 나 만의 UserID 변수에 "Red" 저장
 Private : 동일한 이름의 Session 전역변수를 사용자 수만큼 생성
 * 인증할 때 주로사용 : 세션유저가 있느냐(NULL)?

 Session["변수명"] ="값";


Page 클래스
 page.IsPostBack 속성:
   포스트백( PostBack): 다시 게시.
  버튼 클릭시 서버측에 갔다오는 형태
  페이지 깜박거림(웹폼) =>윈폼 :x => 웹폼:x :AJAX
 포스트백이 되었는지 확인하는 속성
    처음 로드 : Page.IsPostBack = false;
    다시 게시 : Page.IsPostBack = true;
 Page.ClientScript.RegisterClientScriptBlock();
 Page.ClientScript.RegisterClientStartupScript();
 :C# 레벨에서 자바스크립트 실행
 Page.ClientScript.RegisterClientScriptBlock(
  첫번째 매개변수는 this.GetType()
  두번째 파라미터는 본인이 원하는 자바스크립트 키값
  세번째 인자는 실제 실행할 자바스크립트 코드

 

* .cs 함수 인자... sender : 전달자 ... 현재 이벤트 핸들러를 호출한 객체(이름으로 접근가능)


5/23(Fri) 교재5장

ImageButton


* 풍선도움말 tooltip == UlternateTxt 대체 텍스트

 

 


※ ASP.NET 주요 내장 개체 1

▶ Response개체
.Write() : 페이지에 문자열 출력
.Redirect() : 해당 페이지로 이동
.Expires : 현재 페이지의 새로 고침 기능
.Buffer : 버퍼링 사용 설정
.Flush() : 현재 버퍼 내용 출력
.Clear() : 현재 버퍼의 내용 비우기
.End() : 현재 페이지 종료...
.WriteFile() : 파일 출력
.Cookies[] : 쿠키 저장

▶ Request개체
.QueryString[] : 넘겨져 온 쿼리스트링값을 반환 : key/value쌍으로...
.Form[] : Post방식으로 넘겨져 온 값 반환
.Params[] : Get/Post 방식 중 아무거나 다 받음.
.UserHostAddress : IP주소
.ServerVariables["REMOTE_HOST"] : IP주소
.Cookies[] : 저장된 쿠키 읽어오기.

▶ Server개체
.MapPath(".") : 현재 파일과 같은 경로 값 반환 : .., /, \
.Execute() : 다른 파일 포함(인클루드)후 제어권 돌아옴
.Transfer() : 다른 파일 포함(인클루드)후 제어권 넘김
.UrlPathEncode() : 넘겨져온 쿼리 스트링을 유니코드로 변환(한글 처리)
.ScriptTimeout : 서버측에서 현재 ASPX페이지를 몇초간 처리할 건지 설정

▶ Application개체
.Application 전역 변수 선언(Public)
.Lock() : 애플리케이션 변수를 잠그는 메서드
.UnLock() : 잠긴 애플리케이션 변수를 해제하는 메서드

▶ Session개체
.Session 전역 변수 선언(Private)
.Abandon() : 현재 세션 지우기
.SessionID : 현재 세션의 고유번호 값 반환
.SessionTimeout : 세션 시간 기록 : 기본값 20분... 더 추가시키거나 줄일경우 사용...

※ ASP.NET 주요 내장 개체 2
▶ Page 개체
.IsPostBack : 현재 페이지가 처음 로드했는지, 다시 게시(PostBack)되었는 지 확인
.RegisterClientScriptBlock() : 자바스크립트를 동적으로 웹 페이지에 추가
.RegisterStartupScript() : 자바스크립트를 동적으로 웹 페이지에 추가

▶ System.Web.Security.FormsAuthentication 개체
.Authenticate() : 인증 여부 확인. Web.config파일의 크리덴셜 영역에 설정된 사용자를 검증
.SetAuthCookie() : 인증 쿠키값 부여... 인증 처리
.GetRedirectUrl() : 인증 받기 이전의 페이지 경로값 반환.
.RedirectFromLoginPage() : 인증 처리와 동시에 이전(인증 받기 전) 페이지로 이동

 


1. 웹 사이트 생성
2. 웹 폼 생성(aspx)
3. 왼쪽 도구상자에서 원하는 컨트롤 웹폼에 등록
4. 각각의 컨트롤의 ID/Text 와 같은 속성을 속성창에서 변경
5. 버튼과 같은 컨트롤의 click과 같은 이벤트 핸들러 작성
6. 해당 이벤트 핸들러에 원하는 로직(Biz) 구현
7. ctrl + F5 눌러 웹브라우저로 실행

 

 

 

1. 코드

변수 필드

2. 애플리케이션

Application
Session

 

 //=============================================================================================

#작업02

 

교재 P199 FrmInputControl

라디오버튼리스트컨트롤

 


체크박스리스트 ... 3가지 명령어
 (취미):
      <td style="width: 100px">
        <asp:CheckBoxList ID="lstHobby" runat="server"

          RepeatColumns="2"                   [1]
   RepeatDirection="Horizontal"        [2]
          RepeatLayout="Flow" Width="202px">  [3]

 


라디오버튼 ...   // GroupName="Gender"로 묶어야 하나만 선택됨
  (성별):
      <td style="width: 100px">
        <asp:RadioButton ID="rdoMan" runat="server"
          Text="남자" GroupName="Gender" Checked="true" />
        <asp:RadioButton ID="rdoWomen" runat="server"
          Text="여자"       GroupName="Gender" />

 


// SelectedValue == SelectedItem.Text
 //[4] 라디오버튼리스트 값 받아오기 : 단일값
    sb.AppendFormat("[4] {0}<br />", lstWedding.SelectedItem.Text);

    sb.AppendFormat("[4] {0}<br />", lstWedding.SelectedValue);

 

* "XML"은 대소문자 구분

 

 

//=============================================================================================

#작업03 


WebStandardControl0523

D:\!ASP.NET 2.0 웹 사이트 프로그래밍.소스
\ASPNET2\WebStandardControl0523\FrmFileUpload.aspx.cs

// 파일 업로드시 files 폴더는 사용자 NETWORK SERVICE에게 쓰기권한 줘야함

 


machine.config

D:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config
=> 닷넷 모든 환경설정파일

 

 

대용량 파일 업로드 하기

=> http://support.microsoft.com/kb/815307/ko


ASP.NET Framework에서 HTTP Post 방식으로 파일을 업로드 할 수 있는 최대 크기는 기본적으로 4 MB입니다. 이는 악의적인 대용량 업로드로 인한 서버의 피해를 줄이고자 함입니다. 그 이상 크기의 파일을 업로드 하기 위해서는 machine.config (혹은, web.config) 파일에서 속성 값을 변경해주면 됩니다.
<configuration>
 <system.web>
  <httpRuntime
  executionTimeout="90"
  maxRequestLength="4096"
  useFullyQualifiedRedirectUrl="false"
  minFreeThreads="8"
  minLocalRequestFreeThreads="4"
  appRequestQueueLimit="100"/>
 </system.web>
</configuration>


여기서 maxRequestLength가 바로 업로드 할 수 있는 파일의 크기를 말합니다.
maxRequestLength 의 설정 값을 원하는 값으로 설정하면 됩니다.

 


FrmMultiView
// 아주 중요한 폼


public partial class FrmMultiView : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
    // 처음로드시 로그인 폼 보이기
 if (!Page.IsPostBack)
    {
      //[1] 첫 번째(인덱스:0) 뷰 컨트롤을 활성화
      this.ctlMultiView1.ActiveViewIndex = 0;  // ActiveViewIndex 속성기억
    }
  }
  protected void btnLogin_Click(object sender, EventArgs e)
  {
    // 로그인을 한다면 로그아웃 폼 보이기
    //[2] 두 번째 뷰 컨트롤 활성화
    this.ctlMultiView1.ActiveViewIndex = 1;
  }
  protected void btnLogout_Click(object sender, EventArgs e)
  {
    // 로그아웃을 한다면 로그인 폼 보이기
    //[3] 첫 번째 뷰 컨트롤 활성화
    this.ctlMultiView1.ActiveViewIndex = 0;
  }
}

 

패널 FrmPanel.aspx


if (!Page.IsPostBack)
    {
      // 텍스트박스에 포커스 두기
      SetFocus(txtMessage); // Page.SetFocus("btnToggle");
    }


// 두개의 패널 중 하나만 보이기
protected void btnToggle_Click(object sender, EventArgs e)
  {
    Panel1.Visible = !Panel1.Visible;    // true <-> false
    Panel2.Visible = !Panel1.Visible;    // true <-> false
  }

-------------------------------------------------------------

 

//============================================================================================== 

#작업04


제7장
교재ASP.NET2.0 ... p270

 

웹사용자정의 콘트롤

 

MasterPage.master

=> 레이아웃을 담아 놓는 그릇

 

//============================================================================================= 

#작업05


제목 : 6가지 패턴 살펴보기  

http://www.ado.net/  사이트에서 사용되는 모든 데이터?
1. Data Source / Server
     (local)\SQLEXPRESS
2. Database / Initial Catalog : ADO(ActiveX Data Object)의 닷넷버전 => ADO.NET : 데이터 처리관련 모든 명령어(클래스)의 집합
     a. DB : ado
3. Login
     a. UID/User ID : ado
     b. PWD/Password : 1234
     c. Role : db_owner
4. OLE DB(현재) / ODBC(예전기술) :
     a. C#<->OLE DB/ODBC(미들웨어;중개인)<->DB
     b. ado.UDL 파일 테스트 => ConnectionString
5. Table : 실제 데이터가 저장되는 공간
     Memos 테이블
          번호, 이름, 이메일, 메모(제목), 작성일, IP주소
6. SQL구문
     a. DDL : Create, Alter, Drop
     b. DML : Insert, Select, Update, Delete
          i. 하나의 테이블에 6개 예시문 :
               1) 입력/출력/상세/수정/삭제/검색
7. T-SQL :
8. 개체
     a. 저장 프로시저(Stored Procedure) : 6개 저장프로시저
          Write/List/View/Modify/Delete/Search


         
닷넷 레벨에서 6개 웹폼을 만들어 보자…
(교재와  현재 타이핑시 차이점은 ConnectionString부분)

1. 입력 : FrmWrite.aspx : 실습 75번 : 327페이지
     a. Connection - Command - 파라미터추가 - .ExecuteNonQuery()
          i. 인라인 SQL문 방식 : C#코드에 Insert/Select 구문들어옴...
          ii. SQL 파라미터 방식 : Named 매개변수 방식 : 들어올 데이터 부분을 @기호로 변수처리화...
          iii. 저장 프로시저 방식 : 추천

2. 출력 : FrmList.aspx : 실습 76번...
     a. 커넥션-커멘드-데이터어댑터-데이터셋-그리드뷰

3. 상세 : FrmView.aspx?Num=???
     식별자/Primary Key(기본키) 요청
     a. 커넥션-커멘드-데이터리더-일반컨트롤에 바인딩

4. 수정 : FrmModify.aspx?Num=??? : 실습 78번
     a. 상세 + 입력 패턴
          i. Page_Load : 상세 패턴 적용
               1) 예전에 작성했던 정보를 각각의 컨트롤에 읽어오기. 단, 처음에 한번만 읽어오기
               2) Page_Load(), ReadData()는 View.aspx.cs와 동일하다, 다만, 레이블 5개를 텍스트박스 3개로 변경...
          ii. btnModify_Click : 입력 패턴 적용
               1) FrmWrite.aspx.cs의 btnWrite_Click()의 모든 코드를 그대로 btnModify_Click()에 붙여넣기한 후, 저장프로시저 이름을 WriteMemo에서 ModifyMemo로 그리고, 파라미터를 1개(@Num) 추가, 마지막으로 결과 메시지 변경

5. 삭제 : 입력 패턴과 동일 : 
     a. 커넥션 -> 커멘드 -> 파라미터 추가 -> ExecuteNonQuery()

6. 검색 : 출력 패턴
     a. 커넥션 -> 커멘드 -> 파라미터 추가 -> 데이터어댑터 -> 데이터셋 -> 그리드 컨트롤…
    

 

//===============================================================================================
#작업06

 

컨트롤 기반으로 6가지 패턴 다루기 

 
컨트롤 기반
     입력 : FormView + SqlDataSource
     출력 : GridView + SqlDataSource
     상세 : DetailsView + SqlDataSource
     수정 : FormView + SqlDataSource
     삭제 : FormView + SqlDataSource
     검색(Like=>SP) : GridView + SqlDataSource(SP)
데이터소스(Datasource) 속성을 제공하는 컨트롤
DropDownList / ListBox / …
Repeater : 모든 모양을 사용자가 정의
DataList : 표형태 제공
GridView : 표형태 제공
 

 

//===============================================================================================

#작업07

 

소프트웨어 개발 단계에 따른 간단한 모듈(공지사항) 작성하기 
작성일:  2008/06/09 오후 12:50:13 
 
간단한 모듈(공지사항) 작성하기
     (소프트웨어 개발 단계)
1. 계획
     a. 사이트에서 일반적으로 보여지는 공지사항 기능 구현
     b. Windows Server + SQL Server + .NET FrameworkV3.5
2. 분석
     a. 벤치마킹 : 자주 가는 사이트의 공지사항을 분석
          i. 5개 이상의 사이트를 분석/비교=>공통점을 뽑아내자.
     b. 신규모듈 : 기존에 없었던 기능이라면, 비슷한 기능에서 확장하자.
3. 설계 : DB 설계 레벨 => 테이블
     a. 개념적 설계 : 노트와 연필, 브레인스토밍
          i. 구현하고자하는 내용에 대해서 최대한 많은 정보 뽑아내자.
          ii. 필요없는 데이터 제외
          iii. 식별자 : 대부분 번호 필드를 새롭게 만든다.
              
     b. 논리적 설계 : ER-Win / Visio 도구
          공지사항
               필드(컬럼)명     데이터형식     크기     제약조건
               번호       Int         Primary Key
               제목       VarChar     150     Not Null
               내용       Text          Null
               작성자     Int         
               시작일     datetime         
               종료일     datetime         
               작성일     datetime         
     c. 물리적 설계 : SSMS에서 테이블/저장프로시저
          i. 데이터베이스
               1) Announcement
          ii. 로그인사용자
               1) Ann / 1234
          iii. UDL 파일 테스트
               1) Ann.UDL
          iv. 테이블
               1) Announcements
          v. 6개 예시문
               1) 입력
               2) 출력
               3) 상세
               4) 수정
               5) 삭제
               6) 검색
          vi. 저장프로시저
               1) WriteAnn
               2) ListAnn
               3) ViewAnn
               4) ModifyAnn
               5) DeleteAnn
               6) SearchAnn
4. 구현
5. 테스트
6. 유지보수
 

 

 //===============================================================================================
#작업08


4. 구현 : 웹폼 C# & ASP.NET

 a.새 웹 사이트  : http://localhost/WebAnn/Default.aspx
 i. 소스: ~/Announcement/xxx.aspx
 ii.쿼리: ~/Announcement/Documents/xxx.sql
 iii.
 b. 웹 폼/웹 사용자 정의 컨트롤
 i.입력 : Write.ascx ==>Write.aspx실행
  1)Write Control.ascx.cs =>Write.aspx.cs
 ii.출력 : List.ascx =>List.aspx 실행
 iii.상세 : View.ascx
 iv.수정 : Modify.ascx
 v. 삭제 : Delete.ascx
 vi.검색 : Search.ascx

5.테스트

6.유지보수

 


* web.config (30줄)

데이터베이스 연결 문자열 설정


  <!--[1] 데이터베이스 연결 문자열 설정-->
  <connectionStrings>
    <add name="ConnectionString"
         connectionString="Password=1234;Persist Security Info=True;User ID=Ann;Initial Catalog=Announcements;Data Source=.\SQLEXPRESS"
         providerName="System.Data.SqlClient"/>
  </connectionStrings>

.udl파일 내용 복사
"Password=1234;
Persist Security Info=True;
User ID=Ann;
Initial Catalog=Announcements;
Data Source=.\SQLEXPRESS"

 

 


//===============================================================================================
#작업09

 

간단한 모듈(공지사항) 작성하기
     (소프트웨어 개발 단계)
1. 계획
     a. 사이트에서 일반적으로 보여지는 공지사항 기능 구현
     b. Windows Server + SQL Server + .NET FrameworkV3.5
2. 분석
     a. 벤치마킹 : 자주 가는 사이트의 공지사항을 분석
          i. 5개 이상의 사이트를 분석/비교=>공통점을 뽑아내자.
     b. 신규모듈 : 기존에 없었던 기능이라면, 비슷한 기능에서 확장하자.
3. 설계 : DB 설계 레벨 => 테이블
     a. 개념적 설계 : 노트와 연필, 브레인스토밍
          i. 구현하고자하는 내용에 대해서 최대한 많은 정보 뽑아내자.
          ii. 필요없는 데이터 제외
          iii. 식별자 : 대부분 번호 필드를 새롭게 만든다.
              
     b. 논리적 설계 : ER-Win / Visio 도구
          공지사항
               필드(컬럼)명     데이터형식     크기        제약조건
                  번호        Int      Primary Key
                  제목      VarChar       150         Not Null
                  내용       Text         Null
                 작성자        Int         
                 시작일         datetime         
                 종료일         datetime         
                 작성일         datetime         
     c. 물리적 설계 : SSMS에서 테이블/저장프로시저
          i. 데이터베이스
               1) Announcement
          ii. 로그인사용자
               1) Ann / 1234
          iii. UDL 파일 테스트
               1) Ann.UDL
          iv. 테이블
               1) Announcements
          v. 6개 예시문
               1) 입력
               2) 출력
               3) 상세
               4) 수정
               5) 삭제
               6) 검색
          vi. 저장프로시저
               1) WriteAnn
               2) ListAnn
               3) ViewAnn
               4) ModifyAnn
               5) DeleteAnn
               6) SearchAnn
4. 구현 : 웹 폼 : C# & ASP.NET
 a. 새 웹사이트 : http://localhost/WebAnn/Default.aspx
   ⅰ.소스 : ~/Announcement/XXX.aspx
  ⅱ.쿼리 : ~/Announcement/Documents/XXX.sql
  ⅲ.Web.config 파일에 데이터베이스 연결 문자열 기록
   1)Co
 b. 웹 폼/웹 사용자 정의 컨트롤
   ⅰ.입력 : Write.ascx => Write.aspx 실행
   1) WriteControl.ascx.cs => Write.aspx.cs
  ⅱ.출력 : List.ascx => List.aspx실행
  ⅲ.상세 : View.ascx
  ⅳ수정 : Modify.ascx
   1) Page_Load : 상세패턴 : 처음 로드시에만 디스플레이
   2) btnModify_Click : 입력패턴
  ⅴ.삭제 : Delete.ascx
   ⅵ.검색 : Search.ascx

5. 테스트 : 데이터 입력부터 검색까지 계속 테스트 => 추가/개선할 사항
 a. 상세보기 페이지 줄바꿈(개행)/탭처리
 b. 리스트에서 최근글에 new 이미지 붙이기
 c. 작성일에 오늘 쓴 글이면, 시분초 표시, 그렇지 않으면 년월일 표시
 d. 메인 페이지에 최근 글 5개만 요약 출력
 e. 페이지 번호 유지 : 상세 보기 후 해당 페이지에 해당하는 리스트로 이동
  ⅰ.쿠기사용
   ⅱ.쿼리스트링
 f. 이전글/다음글 처리 : 서브 쿼리를 사용하여 상세보기 페이지에서 적용
 g. 리스트에서 마우스 오버시 배경색 변경
 h. 데이터 입력 텍스트박스를 위지윅 에디터로 변경
   텍스트 기반으로만 작성...
  ⅰ.Text/HTML/Mixed방식으로 데이터 입력시 위지윅 에디터 사용
  ⅱ.FreeTextBox : http://www.freetextbox.com/
  ⅲ.FCKEditor : http://www.fckeditor.net/
   1) 오픈소스
   2) 적당한 위치에 압축 해제
   3) FCKEditor를 적용하고자하는 웹 사이트에 fckeditor 폴더 복사
   4) Visual Studio에 FCKEditor 컨트롤 등록
   5) Write 페이지의 멀티라인텍스트박스를 FCKEditor로 대체
    a) Text또는 Value속성 사용 주의
   6) 이미지 업로드 기능 해제 : imageUpload속성 = false로 변경
 i. 전체 레코드 수 및 검색 결과 레코드 수 출력
  ⅰ.ExecuteScalar() 단일 데이터 출력 : 집계함수의 결과 값
   1) 레코드수 10건

 j. 등등


6. 유지보수


*
서버호스팅
 월3만원 + 윈도우 라이센스 3만 ==> 월6만원
웹호스팅
  월5000~1만원

 

 

//===============================================================================================
#작업10

 

간단한 회원관리 기능 구현하기

1. 기획/계획
 a. 간단한 회원관리 기능 구현
2. 분석
 a. 개념적
   ⅰ. 회원관리
  1) 회원번호
  2) 아이디
  3) 암호
  4) 이름, 주소, 휴대폰, 취미, 소개, 주민호호,...
3. 설계
 a. 논리적
   ⅰ. Users
  1) UID
  2) UserID
  3) Passwrd
4. 구현
 a. 물리적 DB 설계
   ⅰ. Server : (local)\SQLEXPRESS
   ⅱ. DB : Memver
   ⅲ. UID : Memver
   ⅳ. PWD : 1234
   ⅴ. UDL : Member.UDL
   ⅵ. Table :
  1) Create Table dbo.Users
  2) (
   UID Identity(1,1) Primary Key,
   UserID VarChar(25) Not Null,
   Password VarChar(20) Not Null
  3) )
   ⅶ.Stored Procedure : 동사 + 테이블명
  1) WriteUsers, ListUsers, ViewUsers, ModifyUsers, DeleteUsers, SearchUsers
  2) AddUser, GetUsers, GetUser, EditUser, DeleteUser, FindUsers
 b. 클래스(Biz/UI) 설계 : 웹 폼 : 회원가입, 로그인/ 로그아읏, 회원정보표시
   ⅰ. 회원가입 : Register.aspx
   ⅱ. 로그인 : Login.aspx
   ⅲ. 회원정보표시 : Default.aspx
5. 테스트
 a. 메인 -> 회원가입 -> 로그인 -> 메인(상태표시)
6. 유지보수
 a. http://localhost:XXX/WebUser/
 b. http://도메인/WebUser/
   ⅰ. http://도메인/Main /User/Register.aspx:회원가입

----------------------------------------------------------------------

로그인 관련 명령어

Page.User.Identity.Name : 로그인했을 때의 로그인 이름(로그인쿠키값 또는 세션값?)
Page.User.Identity.IsAuthenticated : 로그인했다면, true, 그렇지 않으면 false
System.Web.Security.FormsAuthentication.SetAuthCookie() :인증값 부여 : 로그인 처리
System.Web.Security.FormsAuthentication.RedirectFromLoginPage() : 로그인 후 이전 페이지로 이동
System.Web.Security.FormsAuthentication.Signout : 인증값 해제 : 로그아웃 처리

 

//===============================================================================================
#작업11

 

Membership 클래스
MembershipUser
Roles
Profile 클래스

API(Application Programming Interface) : 이미 만둘어져 있는 기능
 
간 단한 회원 가입

필수 정보 : Membership
아이디
암호
이름
이메일
암호확인?
암호확인정답?

============

기타 정보 : Profile

주소
나이
...

 

//===============================================================================================
#작업12

 

Visual Studio 2005 설치

 1. ASP.NET AJAX Extentions V1.0 : AJAX 엔진
 2. ASP.NET AJAX ControlToolkit : 30 컨트롤

Visual Studio 2008 설치

 2. ASP.NET AJAX ControlToolkit : 30 컨트롤

  !. WWW.ASP.NET -> Ajax -> download -> controltoolkit -> AjaxControlToolkit-Framework3.5.zip
  1. http://www.asp.net/ajax/downloads/
  2. 적당한 위치에 압축 해제
  3. VSI 파일을 실행시켜 [새 웹 사이트]

-----------------------------------------------------------

ASP.NET :

AJAX : [부분 페이지 포스트백] 기능 구현해주는 하나의 기술 이름

 ASP.NET AJAX / Microsoft AJAX
  Microsoft.Ajax.js

 -VS-

 타 진영 AJAX

  Prototype.js
  등등등

---------------------------------------------------------------

ScriptManager : 하나의 웹 폼에 딱 하나만 사용.
ScriptManagerProxy : 만약, 마스터페이지에 ScriptManager를 사용했다면,
 마스터페이지를 적용한 웹 폼에서는
 ScriptManager 를 사용하면 안되고,
 ScriptManagerProxy를 사용해야 한다.

 

//===============================================================================================
#작업13

 

Web.config 파일

 [1] 데이터베이스연결문자열 : connectionStrings
 [2] 테마 적용 : <pages theme="Black" />
  [3] 멤버자격 프로바이더 재지정 : 책보고,
  [4] 프로필 프로바이더 재지정 : MSDN보고,
 [5] SMTP 설정 사항 : 메일 보내는 기능 구현시
  PasswordRecovery 컨트롤
  메일 전송 코드 구현
 [6] 인증 방식 변경 : Windows인증 => ASP.NET(Forms)인증 변경
 [7] appSettings 영역 : 자주 사용되는 문자열 보관
  ASP.NET 1.1에서는 여기서 데이터베이스 연결문자열 등록

  SITE_NAME = "닷넷코리아";
  COM

 

//===============================================================================================
#작업14

 

텍스트박스 컨트롤

표준 :
 TextBox
공개 :
 FreeTextBox : http://www.freetext.com/
  [1] FreeTextBox.dll 다운로드(위 경로)
  [2] 왼쪽 도구 상자에 탭 추가 후 FreeTextBox.dll등록
  [3] 웹폼/웹사용자정의 컨트롤에 끌어서 놓기/등록
  [4] 주요 속성 변경
   Width
   Height
   Language="ko-KR"
 FCKEditor(오 픈소스) : http://www.fckeditor.net/
  [1] 소스 다운로드
  [2] 적당한 위치
  BasePath="./fckeditor/"
  /fckeditor/fckconfig.js 의 주요 속성 변경
상용 :
 RechTextBox : http://www.richtextbox.com/
 ComponentArt : http://www.componentart.com/

------------------------------------------------------

우리만의 컴포넌트(UI가 없는 DLL;라이브러리)제작 : 웹 사이트 작성시
자주 사용되는 기능 중 .NET에서 기본으로 제공하지 않는 기능...

게시판/자료실/...

1. 제목 길이 자르기
2. 이미지 파일인지 아닌지 비교
3. 파일의 사이즈를 단위(MB, KB, GB)를 붙여주는 기능
4. 파일업로드시 중복파일명 뒤에 번호 붙여주는 로직
5. ...

관련글 더보기

댓글 영역