January 24, 2010

ASP.NET ListBox Double Click Event

안녕하세요 DKLEE 입니다.

 

 저는 최근 2010 대한민국 매쉬업 경진대회(KOREA MASHUP CONTEST 2010) 에 참가하여 2개 작품을 제출하게 되었습니다. 작품은 아래 와 같습니다. 방문해서 감상 한번 해주세요^^

 

1.MC Opener

Silverlight 기반의 UCC 사이트로, 추가로 메타데이터 정보제공

(http://mashupkorea.com/2010/vote_detail?id=68)

 

2. Study On

ASP.NET 기반에 Google 맵 사용하여, 스터디 장소에 대한 정보를 공유

(http://mashupkorea.com/2010/vote_detail?id=66)

 

 

 본론으로 돌아가겠습니다. 두번째 매쉬업 작품인Study On은 ASP.NET 기반의 사이트입니다. 이전에도 간단한 예제정도 해보았지만 이런 작은 사이트 하나를 만들어 보긴 처음이었습니다. 생각보다 정말 많이 어려웠고 특히 Control 의 배치 부분에서 정말 많이 애먹었었습니다. 웹쪽 개발이 살짝 꺼려지는군요ㅋ 그래도 Silverlight 는 환영입니다!!

 

 작업을 하던 도중 ListBox 의 내용을 더블 클릭하여 내부에 들어 있는 URL을 새창에 띄워주는 작업이 필요하게 되었습니다.(Study On 접속하셔서 왼쪽과 아래부분의 리스트 박스 더블클릭) 기본적으로는 이벤트가 존재하지 않았습니다. 따로 이벤트를 만들어 줘야 해야 합니다. 아래와 같은 방법으로 비하인드 코드내부에 작성을 하여 등록 해주시면 됩니다.

 

[code csharp] namespace ListBox_Double_Click { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //Init InitListBox(); } } //Init private void InitListBox() { //Load Data LoadData(); //Setting ListBox Double Click SettingDoubleClick(); } //Load Data private void LoadData() { ListItemCollection lic = new ListItemCollection(); lic.Add(new ListItem("DKLEE", "http://dklee.net")); lic.Add(new ListItem("HOONS", "http://hoons.kr")); lic.Add(new ListItem("DKLEE", "http://dklee.net")); foreach (ListItem li in lic) { ListBox_test.Items.Add(li); } } //Setting ListBox Double Click private void SettingDoubleClick() { ListBox_test.Attributes.Add("onDblClick", "Listbox_doubleClick();"); string doubleClickScript = @""; Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "doubleClickScript", doubleClickScript); } } } [/code]

 

ListBox 에 Attribute 추가와 javascript 를 비하인드 코드에서 등록하여 작동되는 원리 입니다.

7 comments:

  1. '훈'스닷넷 WPF시삽 등극으로 다시 한번 '훈'남을 확인시켜준 동규형님 역시 멋있네요.

    ReplyDelete
  2. @cybrain - 2010/01/24 23:49
    과찬이십니다.^^ 더 열심히 노력해야 겠어요ㅠㅋ

    ReplyDelete
  3. 매시업 하시느라 고생이 아주 많았을 것 같습니다. 잘 보고 갑니다.

    ReplyDelete
  4. 두개씩이나...좀 대박ㅋㅋㅋ

    나 순간 첨에 매쉬업을 이매진컵으로 보고

    이매진컵에 두개나 냈다는 줄 알았어

    뒤로 넘어갈뻔 ㅋㅋㅋ

    ReplyDelete
  5. @중스 - 2010/01/25 21:09
    아닙니다...ㅋ

    실력이 부족한지라... 시간은 두배로ㅠㅠ

    ReplyDelete
  6. @HELLOS - 2010/01/26 12:50
    이매진컵이면 얼마나 대박이겠어~ㅋ

    ReplyDelete
  7. 결론은 둘다 본선 진출 실패ㅋㅋㅋㅋㅋ 아놔

    ReplyDelete