본문 바로가기

asp .net 2.0

(11)
6자 이상에 특수 문자를 한자 이상한 포함한 문자에 대한 정규식 RegularExpressionValidator를 써서 구현 하면 된다. 정규식은 아래와 같다. [^\s]{6,20} : 첫자가 스페이스가 들어가면 안되고 6자이상 20자 이하의 문자 .*[^A-Za-z0-9].* : A-Z, a-z, 0-9 이외의 문자가 하나 이상 들어갈 것 RegularExpressionValidator를 두개 만들어서 각각 걸어주었다. // 실제 예 // 2007. 8. 7 : 내용이 다 깨져보여서 살짝 편집~
동적으로 생성한 Table Control의 State 저장하고 불러오기 요구사항 : 동적으로 구성한 Table Control의 상태를 유지 배경 : Database에서 특정 데이터를 가져와 가공한 뒤 사용자의 입맛에 맞게 테이블로 그 결과를 구성하였다. 하지만 다른 컨트롤을 조작하여 PostBack이 일어난다면 이전에 바운딩한 테이블 정보들이 모두 초기화 된다. 따라서 PostBack이 일어나도 이전 단계의 테이블 상태를 유지하는 것이 필요하였다. 조건 : 테이블 내용이 바뀔 필요가 없는 경우 PostBack이 일어난 뒤 DB 접근은 하지 않는다. 예제 코드 Table Table_Work_History; protected void Page_Load(object sender, EventArgs e) { if(Page.IsPostBack){ if(Session["Table"] ..
TreeView에서 체크박스 이벤트 발생시키기 목표 : TreeView의 각 노드에 체크박스를 두고 부모를 체크 하면 자식들은 모두 부모에 따름 웹 검색을 하다가 유용한 자료가 있어서 퍼왔습니다. 출처는 제일 아래에 있네요. 저는 이 소스를 다 쓴건 아니고 스크립트 부분만 썼습니다. PostBack 방식으로 했는데. 아무래도 좀 불편한거 같네요... ===================================================================== 체크 박스 이므로 여러개를 선택할수 있도록 체크 박스를 선택할때마다 이벤트가 발생하지는 않습니다. 그래서 약간의 편법을 이용한 자료를 올려 보겠습니다. 1. postback 처리 2. 웹페이지상에서 스크립트로 처리 .. 필요한걸 사용하시면 될듯하네요 .. ==============..
팝업 띄어서 Yes'No 묻기 딱 아래와 같은 내용을 찾았었다. 출처 : 데브피아 주소 : http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=8&MAEULNo=5&no=81&ref=63 ////////////////////////////////////////////////////////////////////////////////// ASP.NET 중에서 큰 부분은 아니지만, 가장 신경쓰이는 부분중의 하나가 client-script과의 연동문제입니다. 그중에서 제일 신경 쓰였던 부분이 메세지 박스에 대한 처리였습니다. 웹에서 저장,삭제 버튼이 클릭된다면, 바로 저장되는 것이 아니라, 사용자에게 메세지박스를 띄어서확인을 해야하는데, 지금부터 그 부분을 다루려고 합니다... 코딩부분은 간..
엑셀 오토메이션을 이용하여 데이터를 엑셀 파일로 저장하기 요구사항 : 사용자가 웹에서 본 데이터를 특정 포멧에 맞추어 엑셀 파일로 저장 조건 : 사용자가 보는 데이터 포멧은 일정하다. 즉 데이터 개수만 다를 뿐 그 항목은 같다. 준비사항 : 엑셀 .COM 컴퍼넌트를 가져와야 함(즉 서버측에 엑셀이 일단 설치가 되어 있어야 함) Visual Studio 2005 메뉴에서 다음 과정을 거침 Website - 참조 추가 - COM 탭으로 이동 Microsoft Excel x.x Object Library 선택 특정 파일을 읽어와서 수정 후 다른 이름으로 저장하는 소스 ============================================================================== using System; using System.Data; ..
마우스 클릭 이벤트를 통해 동적으로 이미지 변경 목표 특정 이미지를 클릭하면 다른 이미지로 변경되고 다시 클릭하면 원래 이미지로 돌아오는 토글 형식의 이벤트를 구현, 단 해당 컨트롤은 서버쪽에서도 접근 가능해야 함 준비 이미지 컨트롤은 asp .net의 이미지 컨트롤을 사용하지 않고 html 컨트롤을 사용한다. 적당한 위치에 이미니 컨트롤을 추가 초기 이미지는 img 폴더의 small-sphere-green.bmp 로 설정하였다. 구현 함수를 호출하는 곳에서 해당 이미지의 이름을 함께 넘겨준다. 함수 구현부에서는 컨트롤 이름을 통해 이미지의 url을 알아내고 해당 url을 비교하여 토글링에 이용한다. 주의 : 이미지 src에는 full url이 들어가 있다 따라서 이미지 파일 이름만 얻어오기 위해 몇가지 string 관련 함수를 이용하였다. funct..
ASP 웹 페이지 최적화 본 내용은 ASP .NET 2.0에 관련된 내용입니다. 1. 비컴파일 페이지 만들기 컴파일 할 필요가 없는 페이지에는 다음과 같은 코드를 삽입하여 컴파일러가 해당 페이지를 컴파일 하지 않게 하는 것이 좋다. - 페이지 단위 적용 - 어플리케이션 단위 적용 2. 뷰 상태 사용 자제 PostBack을 하여도 상태 관리를 할 필요가 없는 서버 컨트롤들의 뷰 상태를 사용하지 않으면 네트워크 전송량을 줄여 성능 향상을 이룰 수 있다. - 페이지 단위 적용 - 컨트롤 단위 적용 컨트롤 속성에서 EnableViewState 속성을 False로 변경 3. 서버 컨트롤 사용 자제 서버 컨트롤을 사용하지 않고 기본적인 HTML을 이용하여 구현할 수 있다면 서버측의 자원을 아낄 수가 있다. 예> 하이퍼링크 알이의 블로그
SQL 캐시 종속성과 WebUserControl을 이용한 캐싱 방법 목표 페이지 내에서 SQL SERVER의 특정 테이블의 내용이 변경될 때만 해당 테이블을 표현하는 컨트롤을 다시 파싱하여 읽고 싶다. 이외의 다른 컨트롤들은 테이블 변경과 상관없이 다시 파싱하게 한다. 준비 사용하는 데이터베이스가 캐싱이 가능하게 만들어 줘야한다. web.config에 캐싱 관련 코드를 입력해야한다. 1. 데이터베이스가 캐싱이 가능하게 등록 Visual Studio 2005 Command Prompt에서 다음과 같이 입력 ==== DB를 캐싱 가능하게 등록 ==== aspnet_regsql -S "." -U "UserID" -P "UserPassword" -d "DBName" -ed >> DB에 AspNet_SqlCacheTablesForChangeNotification 테이블이 생성됨 ..