간만에 포스팅 합니다. 한 오백만년은 된 듯합니다. ㅋㅋㅋ

요즘엔 asp.net 을 가지고 맨땅에 헤딩하느라 고생이 이만 저만이 아니네요... ㅋㅋㅋ
전 winform 개발자이고 싶은데 말이죠... 푸헤헤

여튼 Bug 라고 공식적으로 알려진 사항인데 저는 이제야 알았네요...

내용은 이렇습니다.

Repeater 나 ListView Server Control 의 itemTemplate 에 RadioButton 을 추가하게 되면 grouping 을 할 수 없습니다.

이유인 즉은 iNamingContainer 인터페이스를 구현하는 녀석들이라서라고 하네요.

iNamingContainer 인터페이스의 특징은 item Template 내부에 추가되는 컨트롤들은 고유의 name 속성을 가져야하는 데...

아시다 시피 radio 버튼을 Group으로 묶어 주기 위해서는 아래와 같이 name 속성을 동일하게 해야햐죠?

<input id="Radio1" type="radio" name="1" />
<input id="Radio2" type="radio" name="1" />
<input id="Radio3" type="radio" name="1" />
<input id="Radio4" type="radio" name="1" />
<input id="Radio5" type="radio" name="1" />


그런데 iNamingContainer 인터페이스 를 구현하는 녀석들은 name 속성이 고유하게 생성이 되서 Group 으로 묶이지 않는 것이었습니다.
asp.net RadioButton 서버컨트롤이 가지고 있는 GroupName 이라는 속성을 주더라도 소용이 없는 거죠... ㅋㅋ

아래의 Repeater 나 ListView 가
        <asp:Repeater ID="Repeater1" runat="server">
            <ItemTemplate>
                <asp:RadioButton id="RadioButton1" runat="server" GroupName="RB" Text="<%#Container.DataItem.ToString()%>">
                </asp:RadioButton><br>
            </ItemTemplate>
        </asp:Repeater>

HTML Tag 로 Rendering 된 모습을 보게되면 아래와 같습니다.
<input id="MainContent_Repeater1_RadioButton1_0" type="radio" name="ctl00$MainContent$Repeater1$ctl00$RB" value="RadioButton1" /><label for="MainContent_Repeater1_RadioButton1_0">Test Value 0</label><br>           
<input id="MainContent_Repeater1_RadioButton1_1" type="radio" name="ctl00$MainContent$Repeater1$ctl01$RB" value="RadioButton1" /><label for="MainContent_Repeater1_RadioButton1_1">Test Value 1</label><br>            
<input id="MainContent_Repeater1_RadioButton1_2" type="radio" name="ctl00$MainContent$Repeater1$ctl02$RB" value="RadioButton1" /><label for="MainContent_Repeater1_RadioButton1_2">Test Value 2</label><br>

name 속성의 값이 모두 다르죠?

이러니 Group 으로 묶을 수 있겠습니까? ㅋㅋㅋ

http://support.microsoft.com/kb/316495/en-us
여기에 버그로 등록이 되어 있네요... 오랜 세월이 흘렀는데도 고쳐지지 않는 것을 보면... 쉽사리 건드리기 힘든 녀석인가 봅니다. 이해가 안가지만요... ㅋㅋ

그래서 해법을 찾아보았습니다. ㅋㅋㅋ

http://www.codeguru.com/csharp/csharp/cs_controls/custom/article.php/c12371/

GroupRadioButton 을 만드신 분도 계시군요...
http://www.codeproject.com/Articles/7960/How-to-group-RadioButtons


행복한 고수되십시요...

반응형

현재 WCF REST Starter Kit Preview 2 을 이용해서 Rest Service 를 제작하여 사용하고 있다.
그런데 문제가 발생했다.
기존에 개발하던 Laptop에서는 잘 작동하던 것이
새로운 Laptop에서는 아래와 같은 씨뻘건 에러를 내뱉으며 작동을 거부하는 것이 아닌가? ㅡㅡ'


어리석게도 단순히 파일 확장자만을 보고 MIME Type 이 문제일 것이라는 생각에만 집중을 하고 문제를 해결하기위해 두 컴을 비교하기 시작했고, 찾다찾다 안되어 구글링을 시작했다.

.svc 파일 형식이 aspnet_isapi 에 매핑되어 있어야 한다는 결론을 얻었다.

그래서 살펴보니 기존 Laptop 에는 등록되어 있는
svc-Integrated
svc-ISAPI-2.0
항목들이 새로운 Laptop 에는 등록되지 않은 것이 아닌가?

훔...
위 항목들의 등록과정은 다음과 같다.

IIS 단에서 등록을 해도 되겠지만 본인은 Default Web Site (기본 웹 사이트) 에서 진행하기로 하겠다.

위와 같이 "처리기 맵핑"을 클릭한다.


그리고 "관리되는 처리기 추가..." 를 클릭하고
요청경로 : *.svc
형식 : System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
이름 : svc-Integrated
을 입력하고 "확인" 을 클릭한다.

 
다음은 "스크립트 매핑 추가..." 를 클릭하고
요청경로 : *.svc
실행파일 : %SystemRoot%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
이름 : svc-ISAPI-2.0
을 입력하고 "확인" 을 클릭한다.


그리고 잘 등록이 되었는지 확인한다.


그러면 Browser 로 가서 F5 를 눌러 화면을 Refresh 해서 확인해 본다.


또 이렇게 나의 허접함이 드러났다. ㅡㅡ'


하지만, 아직도 전 Laptop 과 비교해서 새 Laptop 에는 무엇을 설치를 하지 않아
녀석들이 등록되지 않았는지 알수가 없다.

아시는 분께서는 저의 무지함을 깨우쳐 주시기 바랍니다.



행복한 고수되십시요...


woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
반응형


Controller들은 Controllers Folder 에,
Java Script 는 Scripts Folder 에,  
MVC View File들은 Views 폴더에 담아야 한다.

행복한 고수되십시요.


woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
반응형

 

IIS 7 에서 URL Rewrite Module 을 사용해 보셔요...
재미나네요... ^^

http://www.iis.net/download/urlrewrite

아래 비디오를 통해서 설정하는 방법도 배워보시구요...

http://learn.iis.net/page.aspx/506/url-rewrite-module---video-walkthrough/


아~~ 또 한가지... IIS Extention 들을 찬찬히 살펴보시고
사용하실만한 것들을 설치하셔서 사용해 보십시요...


행복한 고수되셔요...


woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

반응형

+ Recent posts