일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 메일수집
- 비주얼 C++
- 이메일추출
- 태마곡
- 이메일광고
- 전번
- 용역직원
- iostream.h
- Stand 4 U
- 절대참조
- 심플네이버
- 이메일수집
- 애러
- VisualStudio 2003 .NET
- 네이버
- 김밥할머니 폭행 동영상
- 누난 너무 예뻐
- esperanca.kr
- 김밥할머니 폭행사건
- 이메일수집기
- esperanca
- 제2의 동방신기
- 자동화 서버는 개체를 작성할 수 없습니다.
- Visual Studio .NET 9.0 Express Edition
- 네이버1위
- 폰번호정리
- 폰번호추출
- 전화번호찾기
- http://www.microsoft.com/downloads/
- 자동화 서버
- Today
- Total
BLOG ESPERANCA
[C#] HTML<select> option 동적으로 바꾸기 본문
단순히 select tag안에 6개의 option이 있을 뿐입니다.
html 코드는 아래와 같습니다.
<form name="form1"> <select name="FOLDER" > <option value="">- 편지함 선택 -</option> <option value="1111" >1111 </option> <option value="2222" >2222 </option> <option value="3333" >3333 </option> <option value="4444" >4444 </option> <option value="5555" >5555 </option> <option value="6666" >6666</option> </select>
option 속성에 seleted 라는 속성을 주면 기본으로 선택된다는 것은 쉽게 알 수 있습니다.
그러나 1111이 선택된 상태에서 프로그램상에서 6666을 선택하려면 어떻게 해야 할까요?
[방법1]
가장 쉽게 Javascript를 사용하는 것입니다.
FOLDER라는 SELECT Html Element를 찾아서
selectedIndex 를 바꾸어 주면 됩니다.
<script language=""javascript""> function change(index) { document.form1.FOLDER.selectedIndex = index; } </script>
그리고 위의 change라는 javascript 함수를 WebBrowser 객체에서 InvokeScript 해주면 끝입니다.
…
webBrowser1.Document.InvokeScript("change", new object[]{6});
…
코드 실행 후에는 selectedIndex는 기존 ‘편지함 선택’ index 0 에서 ‘6666’ index 6으로 변경되게 됩니다.
[방법2]
별도의 javascript를 사용하지 않아도 C#코드로만 Browser Document에 접근해서 속성을 변경할 수도 있습니다.
제일 먼저 해야 할 작업이 select 태그로 html element 를 찾는 것인데요
webBrowser1.Document.GetElementsByTagName("select")
위의 코드로 dom에서 select 태그를 모두 가지고 왔습니다.
GetElmentsByTagName 함수의 return 타입은
HtmlElementCollection 입니다.
제일 위의 html 코드에서는 select 태그가 하나밖에 없으므로
collection에서 제일 처음 index를 사용하면 되겠죠?
webBrowser1.Document.GetElementsByTagName("select")[0]
위의 코드는 html element collection 에서 지금 우리가 원하는 FOLDER 라는 select 태그를 얻어 온 것입니다.
이 element에 selectedIndex라는 속성을 부여하면 되겠죠?
webBrowser1.Document.GetElementsByTagName("select")[0].SetAttribute("selectedIndex", "6");
위와 같이 하면 별도의 javascript를 사용하지 않고도 쉽게 option을 변경할 수 있습니다.