프로그래밍/ASP.NET 50

RegisterClientScriptBlock 과 RegisterStartupScript의 차이점

RegisterClientScriptBlock 은 IsRegisterClientScriptBlock 으로 먼저 확인 후에 동적으로 스크립트를 생성한다. RegisterStartupScript 는 IsStartupScriptRegistered 으로 먼저 확인 후에 동적으로 스크립트를 생성한다. 두 메서드의 차이점은 RegisterClientScriptBlock 함수는 바로 앞에 스크립트가 생성되고, RegisterStartupScript 메서드는 바로 앞에 스크립트가 생성됨 으로서 컨트롤이 생성되기 전에 스크립트가 생성되는 오류를 방지하기 위해 사용된다. 두 메서드 다 스크립트 함수선언의 중복을 피하기 위한 것이지만, RegisterStartupScript 메서드가 오류방지를 위해 더 추천되는 것으로 보인다.

ASP.NET Byte[] 형식을 String 으로 변경

mysql 프로시저 수정하면서 기존의 소스가 작동을 안한다. 입력 문자열의 형식이 잘못되었습니다.stb.Append(String.Format("{0:###,###,##0}", int.Parse(ds.Tables[0].Rows[i][j].ToString()))); 기존의 DataSet 을 통해 받아온 필드값이 object 였는데 프로시저를 수정하면서 Byte[] 형식으로 변경됐나보다. byte[] 형식을 string 형식으로 변환하니 정상적으로 출력된다. string value = Encoding.ASCII.GetString((byte[])ds.Tables[0].Rows[i][j]); stb.Append(String.Format("{0:###,###,##0}", int.Parse(value)));

특정한 기간동안 티저페이지로 이동하는 소스, 캐쉬설정 주의

특정한 기간에만 특정 페이지로 이동하는 소스입니다. 주의할 점은 전 포스팅에 기재되어 있듯이 2013/10/17 - [프로그래밍/_개발 기타] - 캐쉬설정시 IE8 에서는 정상동작, IE9, IE10 에서는 버벅이는 현상 - 세션, 쿠키, 뷰스테이트 정상화는 크로스브라우징 으로이 기능을 사용할 경우 캐쉬사용은 그 기간동안 자제하는걸 권장합니다.

Enterprise Library 사용시 SQL의 UNIQUEIDENTIFIER 타입 파라미터로 지정

Enterprise Library(이하 EL)을 사용하여 일일이 데이타타입을 지정하지 않고 디비에 접속시 SQL의 uniqueidentifier 타입이 제대로 넘어가지 않는 아래의 오류가 발생할 수 있습니다. 'System.String' 에서 'System.Guid'(으)로의 캐스팅이 잘못되었습니다. 검색엔진을 뒤져봐도 설명이 잘 된 자료를 찾기 힘들어서 삽질좀 하다가 아래와 같은 방법으로 해결하였습니다. 벼락치기식 프로젝트를 진행시 EL을 사용하면 아래처럼 간단한 코딩으로 결과물 출력이 가능합니다.

Dropdownlist - DB에 있는 데이터와 임의의 행 바운딩

private void initDropList() { DBDataControl EnvilCategory = new DBDataControl(); DataSet categoryList = EnvilCategory.GetCateGoryList(WebConfig.ConStr, "1"); categoryDropList = categoryList.Tables[0].DefaultView; drpListCategory.DataSource = categoryDropList; drpListCategory.DataTextField = "CATEGORY_NAME"; drpListCategory.DataValueField = "CATEGORY_SEQ"; drpListCategory.SelectedIndex = GetCateg..

ListBox

ListBox 콘트롤은 DropDownList 콘트롤을 펼쳐놓은 것과 흡사하며 관리자단 에서 관리자권한 설정 등에 활용하면 좋습니다. 차이점이 있다면 SelectionMode 에서 Multiple로 선택시 동시에 여러개의 항목선택이 가능하다는 것입니다. 도구상자에서 ListBox 콘트롤을 하나 배치합니다. Page_Load() 부분에 동적으로 아이템을 추가합니다. 브라우저로 실행하면 국어, 영어가 정상적으로 출력됩니다. Html 소스를 보면 value값과 화면에 출력되는 Text값이 같다는 걸 알 수 있습니다. value와 text를 다르게 입력하는 방법은 ListItem 을 사용하면 됩니다. 브라우저로 출력하면 정상적으로 출력됩니다. Html 소스를 보면 좀전의 동일한 value, text 값과 다르게..

MultiView, View - 로그인 로그아웃 블럭에 유용

로그인/로그아웃 시에 유용한 MultiView 콘트롤에 대해 알아보겠습니다. MultiView는 ASP.NET 2.0 부터 제공되는 기능으로 Panel 콘트롤과 흡사한 기능을 제공합니다. 로그인/로그아웃 같은 간단한 작업은 MultiView 콘트롤을, 좀 더 다채로운 기능들이 요구되는 경우는 Panel을 권장합니다. Literal 콘트롤과 Label 콘트롤 정도의 관계라고 생각하면 편할 것 같습니다. MultiView 콘트롤을 본문에 하나 배치합니다. MultiView 콘트롤 안에 View 콘트롤을 하나씩 배치합니다. View 콘트롤 안에 각각 '로그인', '로그아웃' 버튼을 하나씩 배치합니다. 여기까지 하고 페이지를 실행 해보면 아무것도 뜨지 않습니다.페이지를 출력 하기위해 코드를 몇줄 추가합니다. 페..