2016-07-18 2 views
1

문자열을 텍스트 상자로 변환하려고하는데 정수로 변환 할 수 없다는 오류가 나타납니다. 나는 다음과 같은 오류 얻을의 TryCast에문자열에서 텍스트 상자 개체로 변환

Dim curr As String 
    curr = "Detail_0107" 
    Dim NEWTEXT As TextBox = TryCast(Me.Controls(curr), TextBox) 

    NEWTEXT.Text = "test" 

:

나는 다음과 같은 코드가 '정수'를 입력 할 문자열 "Detail_0107"에서 변환이 유효하지 않습니다

Detail_0107이 텍스트 상자입니다 내 양식에. 내가 할 수 있을까?

감사

답변

-1

시도 대신 Me.Controls.Find(curr)를 사용하여. 또한 컨트롤마다 .Text 속성이 있습니다. 그것은 기본 Control 유형의 일부이므로 TextBox로 캐스팅 할 필요가 없습니다. 당신이 Detail_0107 제어가 컬렉션의 존재 매우 확신하는 경우, 당신은 아래로 그냥이에 코드를 얻을 수 있습니다 :

Me.Controls.Find("Detail_0107").Text = "test" 
+1

그걸로 'find'는 'system.web.ui.controlcollection'의 멤버가 아닙니다. FindControl을 시도하면 인스턴스가 아무것도 설정되어 있지 않습니다. 재귀 적으로 FindControl을 사용해야한다는 것을 알고 있지만,이를 파악하려고합니다. –

+0

Ahh ... WebForms. '.Find()'대신'.FindControl()'을 사용하십시오. –

0

귀하의 문제는 당신이 문자열로 Detail_0107을 설정하는 것 같다. 당신이 Detail_0107의 텍스트를 설정하려는 경우, 당신이 오직 할 필요가있는 다음과 같습니다 당신이 Detail_0107 이미 폼의 텍스트 상자입니다 말했듯이

Detail_0107.Text = "test"

은 이미 그것을위한 객체가 갈까요.

+0

내 코드에서 curr 문자열이 변경됩니다. 항상 "Detail_0107"이 아닐 것입니다 –

+0

이 경우 Joel 's가 가장 관련있는 답변입니다. :) – VortixDev