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

요즘엔 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


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

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by woojja
Office Version 은 아래와 같습니다.
Original: 12.0.4518.1014 
SP1:      12.0.6213.1000 
SP2:      12.0.6423.1000

PS. 필요한 사람이 있으려나? ㅋㅋㅋ

행복한 고수되셔요...



woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by woojja

Environment.getEnvironmentVariable 에 관한 내용입니다.


strRetVal = System.Environment.getEnvironmentVariable(strEnvVar)


  • ALLUSERSPROFILE=C:\ProgramData
  • APPDATA=C:\Users\user\AppData\Roaming
  • HOMEPATH=\Users\user
  • LOCALAPPDATA=C:\Users\user\AppData\Local
  • PROGRAMDATA=C:\ProgramData
  • PUBLIC=C:\Users\Public
  • TEMP=C:\Users\user\AppData\Local\Temp
  • TMP=C:\Users\user\AppData\Local\Temp
  • USERPROFILE=C:\Users\user


  • 이 곳을 참고했습니다.

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


    woojja ))*
    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    저작자 표시 비영리 변경 금지
    크리에이티브 커먼즈 라이선스
    Creative Commons License
    Posted by woojja
    요즘 WebMatrix 에서 Web Site 를 생성하여 Test 개발을 하고 있다.
    WebMatirx 를 설치하고 WebSite 를 생성하게 되면
    기본적으로 [System Directory]:\Users\[User 계정]\Documents\My Web Sites 폴더를 내에 Site 를 생성한다.
    다른 작업을 하던 도중 사용자 폴더를 D Drive 로 이동할 일이 생기게 되었는데
    D drive 로 이동을 하고 나니


    위 그림과 같이 WebMatrix 를 실행시키고 Site 를 선택하면 현재 경로를 가리키는 것이 아니라 과거의 경로 정보를 가지고 있어서

    더블클릭하여 실행할라치면 위와 같은 에러를 발생한다...
    당연히 경로에 소스가 존재하지 않으니 에러가 나는 것이 당연할 것이다.
    그렇다면 어디엔가 경로 정보가 존재할 것인데... 변경하기 위해서 정보가 저장되어 있는 파일이나 데이터베이스가 어디있는지 찾아 보았다.
    단순히 WebMatrix 에서 사용하는 데이터니 WebMatrix.exe 가 있는 설치 폴더에 존재하겠지.. 아니면 관련 Registry 나 Database 중 한군데 아닐까 생각하고 찾아 보았으나... 왠걸... 없다!!! ㅡㅡ'

    그러다 찾아낸 사실... WebMatirx 는 IISExpress 와 연계하여 실행되는 프로그램으로 위에서 보는 Site 들의 리스트에 대한 정보는 \Users\[User 계정]\Documents\IISExpress\config 폴더내의 applicationhost.config 에 담겨 있었다.
    Site Name 으로 찾아 보니... physicalPath 라는 Attribute 에 정보를 담아둔 모습을 아래와 같이 보실 수 있습니다.

    이걸 옮겨진 Drive 로 수정을 했습니다.
    그리고 Refresh 해보니 아래와 같이 정보가 수정된 모습을 보실 수 있죠...

    더블 클릭해봅니다.


    실행이 잘 되네요... ㅡㅡ'
    한시간은 잡아 먹은 것 같습니다.

    WebMatrix 를 사용할 때 얻게된 Tip 이었습니다.


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

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

    저작자 표시 비영리 변경 금지
    크리에이티브 커먼즈 라이선스
    Creative Commons License
    Posted by woojja
    2011/10/10 13:18
    오늘은 지난 소스를 보던 중 괜찮은 부분이 눈에 띄어 또 써먹을 곳이 있지 않을까 하여 Posting 해 봅니다.
    인터넷 어디선가 Copy 해온 소스인 것 같기도하고... (제가 만들었을리가... ^^;)
    다른 곳에서 유사한 소스를 분이 계시다면... 알려주셔요... Link 를 걸도록 하겠습니다.

    이 글을 보시는 분들께서도 필요하신 분이 있지 않을까 하는... ^^

        1 

        2     Private Function GetValueString(ByVal obj As Object) As String

        3         If (IsDBNull(obj)) Then Return "NULL"

        4 

        5         Select Case obj.GetType.FullName

        6 

        7             Case "System.Boolean"

        8                 If (obj = True) Then

        9                     Return "True"

       10                 Else

       11                     Return "False"

       12                 End If

       13 

       14             Case "System.String"

       15                 Dim str As String = obj

       16                 Return "N'" + str.Replace("'", "''") + "'"

       17 

       18             Case "System.DateTime"

       19                 Return "'" + obj.ToString() + "'"

       20 

       21             Case "System.Drawing.Image"

       22                 Return "NULL"

       23 

       24             Case "System.Drawing.Bitmap"

       25                 Return "NULL"

       26 

       27             Case "System.Byte[]"

       28                 Return "0x" + GetHexString(obj)

       29 

       30             Case Else

       31                 Return obj.ToString()

       32 

       33         End Select

       34     End Function

       35 

       36     Private Function GetHexString(ByRef bytes() As Byte) As String

       37         Dim sb As New System.Text.StringBuilder

       38         Dim b As Byte

       39         Dim i As Integer = 0

       40 

       41         For Each b In bytes

       42             i += 1

       43             sb.Append(b.ToString("X2"))

       44             If i > 10 Then

       45                 Return sb.ToString()

       46             End If

       47         Next

       48 

       49         Return sb.ToString()

       50     End Function



    행복한 고수되셔요...


    woojja ))*
    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    저작자 표시 비영리 변경 금지
    크리에이티브 커먼즈 라이선스
    Creative Commons License
    Posted by woojja

    VSTO application 의 경우 실행중 Error 가 발생하면 Error 를 소리소문없이 꿀꺽 먹어버리는 경우가 있다.
    이럴때 환경변수에 변수를 등록해 줌으로써 Alert 창으로 나타내도록 할 수 있는데...

    다음과 같은 내용을 reg 파일로 만들어 실행시켜도 좋고, 변수를 환경변수에 등록해 주어도 좋겠다.

    Windows Registry Editor Version 5.00

    [SYSTEM\CurrentControlSet\Control\Session Manager\Environment]
    "VSTO_SUPPRESSDISPLAYALERTS"="0"
    "VSTO_LOGALERTS"="1"



    행복한 고수되셔요...

    woojja ))*
    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    저작자 표시 비영리 변경 금지
    크리에이티브 커먼즈 라이선스
    Creative Commons License
    Posted by woojja
    HeidiSQL 이라는 Freeware MySQL 관리 툴을 알게 되었습니다.
    아직 세세히 알아본건 아니지만 사용하기도 좋을 듯 하여 소개합니다.
    다음은 설치화면 Capture 들입니다.









    설치가 다 되었군요...

    새로운 Feature 가 있다고 하는데 저는 활성화 해봤습니다.
    해가되진 않겠죠? ㅋㅋ

    여기서 설치되어 있는 MySQL 이 있다면 Database 를 등록해 줍니다.


     짜잔... 실행되었습니다.
    저기 Moodle Database 가 보이는 군요.
    저 녀석때문에 설치한거거든요... ㅋㅋ


    그럼 행복한 고수되셔요... ^^


    woojja ))*
    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    저작자 표시 비영리 변경 금지
    크리에이티브 커먼즈 라이선스
    Creative Commons License

    'DATABASE > MySQL' 카테고리의 다른 글

    [MySQL] MySQL 관리툴 HeidiSQL  (0) 2011/09/15
    Posted by woojja

    이번 Build 2011 행사의 성과아닌 성과중의 하나는 Samsung Slate PC 를 받았다는 것.
    들고와서 처음 켜서 동작시키기 까지의 모습을 담아봤습니다. ㅋㅋㅋ
    (사실은 어제 받아서 사진을 찍었는데요... 어제는 넘후? 피곤해서 오늘에서야 Posting 합니다.)
    단순 이미지들의 나열임을 미리 밝혀둡니다. ㅋㅋㅋ


    짜잔... 아름다운 자태하며...
     
    상자부터 찍는 개봉기는 다른 분들도 올리실듯하여... ㅋㅋ
    저는 곧바로 Power Button 을 누른 순간부터... ㅋㅋㅋ

    PC 이름 부터 적어 넣으라는 군요...

    Wireless 정보를 설정합니다.


    암호도 입력해 줬습니다.


    저는 걍 기본 설정으로 설정할랍니다. ㅋㅋ
     

    기본적으로 Logon 에 필요한 Email 계정을 물어봅니다.

    입력해주고요...(제 이멜계정, 이름을 아시는 분이 계실지 모르지만... 기본적으루다가 흰색으로 칠했습니다. 기분이 조금 안좋으시면 양해해주셔요... ㅋㅋ)




    암호를 입력하구요...

    기둘립니다. ㅋㅋㅋ

    짜자~~안!!!
    귀여운 녀석... 절 환영한다는 군요... ㅋㅋ

    저를 위해 준비할 것이 필요한 게지요...ㅋㅋㅋ


    짜잔... 부끄러운듯 모습을 제게 공개했습니다.
    Metro Style 의 Tile icon 들이 저를 반기네요...
    이제 잼나게 가지고 놀아보는 일만 남았네효~~

    알흠다운 밤입니다.

    행복한 고수되셔요~~


    woojja ))*
    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    저작자 표시 비영리 변경 금지
    크리에이티브 커먼즈 라이선스
    Creative Commons License
    Posted by woojja

    현재 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 ))*
    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    저작자 표시 비영리 변경 금지
    크리에이티브 커먼즈 라이선스
    Creative Commons License
    Posted by woojja




    "SilverLight in Action" 이라는 798 Page 도서의 DocZoom 버전입니다.
    DocZoom 의 기능들... 찬찬히 보셔요... ^^


    행복한 고수되셔요...

    woojja ))*
    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    저작자 표시 비영리 변경 금지
    크리에이티브 커먼즈 라이선스
    Creative Commons License
    Posted by woojja
    이전버튼 1 2 3 4 5 ... 34 이전버튼